RING_IDX
RING_IDX rc, rp;
RING_IDX rsp_prod, req_prod;
RING_IDX i, rp;
RING_IDX i, rp;
RING_IDX idx[COPY_BATCH_SIZE];
RING_IDX rsp_prod, req_prod;
RING_IDX i = queue->tx.rsp_prod_pvt;
RING_IDX rsp_prod, req_prod;
RING_IDX idx = vif->ctrl.rsp_prod_pvt;
RING_IDX req_prod, req_cons;
unsigned int extra_count, RING_IDX end)
RING_IDX cons = queue->tx.req_cons;
RING_IDX cons = queue->tx.req_cons;
RING_IDX cons = queue->tx.req_cons;
RING_IDX idx;
static RING_IDX xenvif_rx_queue_slots(const struct xenvif_queue *queue)
RING_IDX prod, cons;
RING_IDX prod, cons;
struct netfront_rx_info *rinfo, RING_IDX rp,
RING_IDX cons = queue->rx.rsp_cons;
RING_IDX cons = queue->rx.rsp_cons;
RING_IDX i, rp;
static int xennet_rxidx(RING_IDX idx)
RING_IDX ri)
RING_IDX ri)
RING_IDX req_prod = queue->rx.req_prod_pvt;
RING_IDX cons, prod;
static void xennet_set_rx_rsp_cons(struct netfront_queue *queue, RING_IDX val)
RING_IDX rp)
RING_IDX cons = queue->rx.rsp_cons;
RING_IDX i, rp;
RING_IDX rc, rp;
RING_IDX i, rp;
RING_IDX cons, prod, size, array_size;
RING_IDX cons, prod, size, wanted, array_size, masked_prod, masked_cons;
RING_IDX cons, prod, size = XEN_FLEX_RING_SIZE(PVCALLS_RING_ORDER);
RING_IDX cons, prod;
RING_IDX cons, prod, size, masked_prod, masked_cons;
RING_IDX array_size = XEN_FLEX_RING_SIZE(PVCALLS_RING_ORDER);
RING_IDX cons, prod, size, masked_prod, masked_cons;
RING_IDX array_size = XEN_FLEX_RING_SIZE(PVCALLS_RING_ORDER);
RING_IDX rc, rp;
RING_IDX in_cons, in_prod, in_error;
RING_IDX out_cons, out_prod, out_error;
RING_IDX ring_order;
RING_IDX req_prod_pvt; \
RING_IDX rsp_cons; \
RING_IDX rsp_prod_pvt; \
RING_IDX req_cons; \
RING_IDX __old = (_r)->sring->req_prod; \
RING_IDX __new = (_r)->req_prod_pvt; \
(_notify) = ((RING_IDX)(__new - (_r)->sring->req_event) < \
(RING_IDX)(__new - __old)); \
RING_IDX __old = (_r)->sring->rsp_prod; \
RING_IDX __new = (_r)->rsp_prod_pvt; \
(_notify) = ((RING_IDX)(__new - (_r)->sring->rsp_event) < \
(RING_IDX)(__new - __old)); \
static inline RING_IDX name##_mask(RING_IDX idx, RING_IDX ring_size) \
RING_IDX idx, \
RING_IDX ring_size) \
RING_IDX masked_prod, \
RING_IDX *masked_cons, \
RING_IDX ring_size) \
RING_IDX *masked_prod, \
RING_IDX masked_cons, \
RING_IDX ring_size) \
static inline RING_IDX name##_queued(RING_IDX prod, \
RING_IDX cons, \
RING_IDX ring_size) \
RING_IDX size; \
RING_IDX in_cons, in_prod; \
RING_IDX out_cons, out_prod; \
RING_IDX ring_order; \
RING_IDX req_prod, req_event; \
RING_IDX rsp_prod, rsp_event; \
static bool p9_xen_write_todo(struct xen_9pfs_dataring *ring, RING_IDX size)
RING_IDX cons, prod;
RING_IDX cons, prod, masked_cons, masked_prod;
RING_IDX cons, prod, masked_cons, masked_prod;
RING_IDX i, rp;