Lines Matching refs:vrh

37 static bool getrange_iov(struct vringh *vrh, u64 addr, struct vringh_range *r)  in getrange_iov()  argument
51 static bool getrange_slow(struct vringh *vrh, u64 addr, struct vringh_range *r) in getrange_slow() argument
111 static inline int vringh_get_head(struct vringh *vrh, u16 *head) in vringh_get_head() argument
116 err = get_user(avail_idx, &vrh->vring.avail->idx); in vringh_get_head()
120 if (vrh->last_avail_idx == avail_idx) in vringh_get_head()
124 virtio_rmb(vrh->weak_barriers); in vringh_get_head()
126 i = vrh->last_avail_idx & (vrh->vring.num - 1); in vringh_get_head()
128 err = get_user(*head, &vrh->vring.avail->ring[i]); in vringh_get_head()
132 vrh->last_avail_idx++; in vringh_get_head()
137 bool (*getrange)(struct vringh *vrh, in parallel_test() argument
173 struct vringh vrh; in parallel_test() local
188 vring_init(&vrh.vring, RINGSIZE, host_map, ALIGN); in parallel_test()
189 vringh_init_user(&vrh, features, RINGSIZE, true, in parallel_test()
190 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in parallel_test()
202 err = vringh_get_head(&vrh, &head); in parallel_test()
205 err = vringh_need_notify_user(&vrh); in parallel_test()
226 err = vringh_getdesc_user(&vrh, &riov, &wiov, in parallel_test()
230 err = vringh_need_notify_user(&vrh); in parallel_test()
239 if (!vringh_notify_enable_user(&vrh)) in parallel_test()
246 vringh_notify_disable_user(&vrh); in parallel_test()
273 err = vringh_complete_user(&vrh, head, written); in parallel_test()
278 err = vringh_need_notify_user(&vrh); in parallel_test()
443 struct vringh vrh; in main() local
453 bool (*getrange)(struct vringh *vrh, u64 addr, struct vringh_range *r); in main()
494 vring_init(&vrh.vring, RINGSIZE, __user_addr_min, ALIGN); in main()
495 vringh_init_user(&vrh, vdev.features, RINGSIZE, true, in main()
496 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in main()
499 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()
523 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()
558 err = vringh_complete_user(&vrh, head, err); in main()
592 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()
622 err = vringh_complete_multi_user(&vrh, used, 1); in main()
645 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()
652 assert(vrh.vring.used->idx % RINGSIZE != 0); in main()
653 err = vringh_complete_multi_user(&vrh, used, RINGSIZE); in main()
729 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()