H A D | vringh.c | 38 static inline int __vringh_get_head(const struct vringh *vrh, argument 39 int (*getu16)(const struct vringh *vrh, 46 err = getu16(vrh, &avail_idx, &vrh->vring.avail->idx); 49 &vrh->vring.avail->idx); 54 return vrh->vring.num; 57 virtio_rmb(vrh->weak_barriers); 59 i = *last_avail_idx & (vrh->vring.num - 1); 61 err = getu16(vrh, &head, &vrh 107 vringh_iov_xfer(struct vringh *vrh, struct vringh_kiov *iov, void *ptr, size_t len, int (*xfer)(const struct vringh *vrh, void *addr, void *ptr, size_t len)) argument 143 range_check(struct vringh *vrh, u64 addr, size_t *len, struct vringh_range *range, bool (*getrange)(struct vringh *, u64, struct vringh_range *)) argument 177 no_range_check(struct vringh *vrh, u64 addr, size_t *len, struct vringh_range *range, bool (*getrange)(struct vringh *, u64, struct vringh_range *)) argument 186 move_to_indirect(const struct vringh *vrh, int *up_next, u16 *i, void *addr, const struct vring_desc *desc, struct vring_desc **descs, int *desc_max) argument 245 return_from_indirect(const struct vringh *vrh, int *up_next, struct vring_desc **descs, int *desc_max) argument 256 slow_copy(struct vringh *vrh, void *dst, const void *src, bool (*rcheck)(struct vringh *vrh, u64 addr, size_t *len, struct vringh_range *range, bool (*getrange)(struct vringh *vrh, u64, struct vringh_range *)), bool (*getrange)(struct vringh *vrh, u64 addr, struct vringh_range *r), struct vringh_range *range, int (*copy)(const struct vringh *vrh, void *dst, const void *src, size_t len)) argument 293 __vringh_iov(struct vringh *vrh, u16 i, struct vringh_kiov *riov, struct vringh_kiov *wiov, bool (*rcheck)(struct vringh *vrh, u64 addr, size_t *len, struct vringh_range *range, bool (*getrange)(struct vringh *, u64, struct vringh_range *)), bool (*getrange)(struct vringh *, u64, struct vringh_range *), gfp_t gfp, int (*copy)(const struct vringh *vrh, void *dst, const void *src, size_t len)) argument 447 __vringh_complete(struct vringh *vrh, const struct vring_used_elem *used, unsigned int num_used, int (*putu16)(const struct vringh *vrh, __virtio16 *p, u16 val), int (*putused)(const struct vringh *vrh, struct vring_used_elem *dst, const struct vring_used_elem *src, unsigned num)) argument 497 __vringh_need_notify(struct vringh *vrh, int (*getu16)(const struct vringh *vrh, u16 *val, const __virtio16 *p)) argument 544 __vringh_notify_enable(struct vringh *vrh, int (*getu16)(const struct vringh *vrh, u16 *val, const __virtio16 *p), int (*putu16)(const struct vringh *vrh, __virtio16 *p, u16 val)) argument 584 __vringh_notify_disable(struct vringh *vrh, int (*putu16)(const struct vringh *vrh, __virtio16 *p, u16 val)) argument 599 getu16_user(const struct vringh *vrh, u16 *val, const __virtio16 *p) argument 607 putu16_user(const struct vringh *vrh, __virtio16 *p, u16 val) argument 613 copydesc_user(const struct vringh *vrh, void *dst, const void *src, size_t len) argument 620 putused_user(const struct vringh *vrh, struct vring_used_elem *dst, const struct vring_used_elem *src, unsigned int num) argument 629 xfer_from_user(const struct vringh *vrh, void *src, void *dst, size_t len) argument 636 xfer_to_user(const struct vringh *vrh, void *dst, void *src, size_t len) argument 656 vringh_init_user(struct vringh *vrh, u64 features, unsigned int num, bool weak_barriers, vring_desc_t __user *desc, vring_avail_t __user *avail, vring_used_t __user *used) argument 703 vringh_getdesc_user(struct vringh *vrh, struct vringh_iov *riov, struct vringh_iov *wiov, bool (*getrange)(struct vringh *vrh, u64 addr, struct vringh_range *r), u16 *head) argument 791 vringh_abandon_user(struct vringh *vrh, unsigned int num) argument 808 vringh_complete_user(struct vringh *vrh, u16 head, u32 len) argument 827 vringh_complete_multi_user(struct vringh *vrh, const struct vring_used_elem used[], unsigned num_used) argument 843 vringh_notify_enable_user(struct vringh *vrh) argument 856 vringh_notify_disable_user(struct vringh *vrh) argument 868 vringh_need_notify_user(struct vringh *vrh) argument 875 getu16_kern(const struct vringh *vrh, u16 *val, const __virtio16 *p) argument 882 putu16_kern(const struct vringh *vrh, __virtio16 *p, u16 val) argument 888 copydesc_kern(const struct vringh *vrh, void *dst, const void *src, size_t len) argument 895 putused_kern(const struct vringh *vrh, struct vring_used_elem *dst, const struct vring_used_elem *src, unsigned int num) argument 904 xfer_kern(const struct vringh *vrh, void *src, void *dst, size_t len) argument 911 kern_xfer(const struct vringh *vrh, void *dst, void *src, size_t len) argument 930 vringh_init_kern(struct vringh *vrh, u64 features, unsigned int num, bool weak_barriers, struct vring_desc *desc, struct vring_avail *avail, struct vring_used *used) argument 976 vringh_getdesc_kern(struct vringh *vrh, struct vringh_kiov *riov, struct vringh_kiov *wiov, u16 *head, gfp_t gfp) argument 1039 vringh_abandon_kern(struct vringh *vrh, unsigned int num) argument 1056 vringh_complete_kern(struct vringh *vrh, u16 head, u32 len) argument 1074 vringh_notify_enable_kern(struct vringh *vrh) argument 1087 vringh_notify_disable_kern(struct vringh *vrh) argument 1099 vringh_need_notify_kern(struct vringh *vrh) argument 1115 iotlb_translate(const struct vringh *vrh, u64 addr, u64 len, u64 *translated, struct iotlb_vec *ivec, u32 perm) argument 1177 copy_from_iotlb(const struct vringh *vrh, void *dst, void *src, size_t len) argument 1223 copy_to_iotlb(const struct vringh *vrh, void *dst, void *src, size_t len) argument 1269 getu16_iotlb(const struct vringh *vrh, u16 *val, const __virtio16 *p) argument 1306 putu16_iotlb(const struct vringh *vrh, __virtio16 *p, u16 val) argument 1343 copydesc_iotlb(const struct vringh *vrh, void *dst, const void *src, size_t len) argument 1355 xfer_from_iotlb(const struct vringh *vrh, void *src, void *dst, size_t len) argument 1367 xfer_to_iotlb(const struct vringh *vrh, void *dst, void *src, size_t len) argument 1379 putused_iotlb(const struct vringh *vrh, struct vring_used_elem *dst, const struct vring_used_elem *src, unsigned int num) argument 1406 vringh_init_iotlb(struct vringh *vrh, u64 features, unsigned int num, bool weak_barriers, struct vring_desc *desc, struct vring_avail *avail, struct vring_used *used) argument 1432 vringh_init_iotlb_va(struct vringh *vrh, u64 features, unsigned int num, bool weak_barriers, struct vring_desc *desc, struct vring_avail *avail, struct vring_used *used) argument 1451 vringh_set_iotlb(struct vringh *vrh, struct vhost_iotlb *iotlb, spinlock_t *iotlb_lock) argument 1480 vringh_getdesc_iotlb(struct vringh *vrh, struct vringh_kiov *riov, struct vringh_kiov *wiov, u16 *head, gfp_t gfp) argument 1515 vringh_iov_pull_iotlb(struct vringh *vrh, struct vringh_kiov *riov, void *dst, size_t len) argument 1532 vringh_iov_push_iotlb(struct vringh *vrh, struct vringh_kiov *wiov, const void *src, size_t len) argument 1548 vringh_abandon_iotlb(struct vringh *vrh, unsigned int num) argument 1566 vringh_complete_iotlb(struct vringh *vrh, u16 head, u32 len) argument 1584 vringh_notify_enable_iotlb(struct vringh *vrh) argument 1597 vringh_notify_disable_iotlb(struct vringh *vrh) argument 1609 vringh_need_notify_iotlb(struct vringh *vrh) argument [all...] |