Lines Matching refs:vrh

36 static bool getrange_iov(struct vringh *vrh, u64 addr, struct vringh_range *r)  in getrange_iov()  argument
50 static bool getrange_slow(struct vringh *vrh, u64 addr, struct vringh_range *r) in getrange_slow() argument
110 static inline int vringh_get_head(struct vringh *vrh, u16 *head) in vringh_get_head() argument
115 err = get_user(avail_idx, &vrh->vring.avail->idx); in vringh_get_head()
119 if (vrh->last_avail_idx == avail_idx) in vringh_get_head()
123 virtio_rmb(vrh->weak_barriers); in vringh_get_head()
125 i = vrh->last_avail_idx & (vrh->vring.num - 1); in vringh_get_head()
127 err = get_user(*head, &vrh->vring.avail->ring[i]); in vringh_get_head()
131 vrh->last_avail_idx++; in vringh_get_head()
136 bool (*getrange)(struct vringh *vrh, in parallel_test() argument
172 struct vringh vrh; in parallel_test() local
187 vring_init(&vrh.vring, RINGSIZE, host_map, ALIGN); in parallel_test()
188 vringh_init_user(&vrh, features, RINGSIZE, true, in parallel_test()
189 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in parallel_test()
201 err = vringh_get_head(&vrh, &head); in parallel_test()
204 err = vringh_need_notify_user(&vrh); in parallel_test()
225 err = vringh_getdesc_user(&vrh, &riov, &wiov, in parallel_test()
229 err = vringh_need_notify_user(&vrh); in parallel_test()
238 if (!vringh_notify_enable_user(&vrh)) in parallel_test()
245 vringh_notify_disable_user(&vrh); in parallel_test()
272 err = vringh_complete_user(&vrh, head, written); in parallel_test()
277 err = vringh_need_notify_user(&vrh); in parallel_test()
439 struct vringh vrh; in main() local
449 bool (*getrange)(struct vringh *vrh, u64 addr, struct vringh_range *r); in main()
488 vring_init(&vrh.vring, RINGSIZE, __user_addr_min, ALIGN); in main()
489 vringh_init_user(&vrh, vdev.features, RINGSIZE, true, in main()
490 vrh.vring.desc, vrh.vring.avail, vrh.vring.used); in main()
493 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()
517 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()
552 err = vringh_complete_user(&vrh, head, err); in main()
586 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()
616 err = vringh_complete_multi_user(&vrh, used, 1); in main()
639 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()
646 assert(vrh.vring.used->idx % RINGSIZE != 0); in main()
647 err = vringh_complete_multi_user(&vrh, used, RINGSIZE); in main()
723 err = vringh_getdesc_user(&vrh, &riov, &wiov, getrange, &head); in main()