xs_ring
struct xs_ring *xs_ring;
xs->xs_ring = km_alloc(PAGE_SIZE, &kv_any, &kp_none, &kd_nowait);
if (xs->xs_ring == NULL)
pmap_kenter_pa((vaddr_t)xs->xs_ring, pa, PROT_READ | PROT_WRITE);
pmap_kremove((vaddr_t)xs->xs_ring, PAGE_SIZE);
km_free(xs->xs_ring, PAGE_SIZE, &kv_any, &kp_none);
xs->xs_ring = NULL;
xs_ring_avail(struct xs_ring *xsr, int req)
if (xs_ring_avail(xs->xs_ring, 1) > 0)
while (xs->xs_ring->xsr_req_prod != xs->xs_ring->xsr_req_cons)
struct xs_ring *xsr = xs->xs_ring;
struct xs_ring *xsr = xs->xs_ring;
struct xs_ring *xsr = xs->xs_ring;