diff options
Diffstat (limited to 'include/xen/interface/io/ring.h')
-rw-r--r-- | include/xen/interface/io/ring.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/xen/interface/io/ring.h b/include/xen/interface/io/ring.h index 75271b9a8f61..7d28aff605c7 100644 --- a/include/xen/interface/io/ring.h +++ b/include/xen/interface/io/ring.h | |||
@@ -188,6 +188,11 @@ struct __name##_back_ring { \ | |||
188 | #define RING_REQUEST_CONS_OVERFLOW(_r, _cons) \ | 188 | #define RING_REQUEST_CONS_OVERFLOW(_r, _cons) \ |
189 | (((_cons) - (_r)->rsp_prod_pvt) >= RING_SIZE(_r)) | 189 | (((_cons) - (_r)->rsp_prod_pvt) >= RING_SIZE(_r)) |
190 | 190 | ||
191 | /* Ill-behaved frontend determination: Can there be this many requests? */ | ||
192 | #define RING_REQUEST_PROD_OVERFLOW(_r, _prod) \ | ||
193 | (((_prod) - (_r)->rsp_prod_pvt) > RING_SIZE(_r)) | ||
194 | |||
195 | |||
191 | #define RING_PUSH_REQUESTS(_r) do { \ | 196 | #define RING_PUSH_REQUESTS(_r) do { \ |
192 | wmb(); /* back sees requests /before/ updated producer index */ \ | 197 | wmb(); /* back sees requests /before/ updated producer index */ \ |
193 | (_r)->sring->req_prod = (_r)->req_prod_pvt; \ | 198 | (_r)->sring->req_prod = (_r)->req_prod_pvt; \ |