| /linux/drivers/vhost/ |
| H A D | iotlb.c | 28 void vhost_iotlb_map_free(struct vhost_iotlb *iotlb, in vhost_iotlb_map_free() argument 31 vhost_iotlb_itree_remove(map, &iotlb->root); in vhost_iotlb_map_free() 34 iotlb->nmaps--; in vhost_iotlb_map_free() 50 int vhost_iotlb_add_range_ctx(struct vhost_iotlb *iotlb, in vhost_iotlb_add_range_ctx() argument 65 int err = vhost_iotlb_add_range_ctx(iotlb, start, mid, addr, in vhost_iotlb_add_range_ctx() 75 if (iotlb->limit && in vhost_iotlb_add_range_ctx() 76 iotlb->nmaps == iotlb->limit && in vhost_iotlb_add_range_ctx() 77 iotlb->flags & VHOST_IOTLB_FLAG_RETIRE) { in vhost_iotlb_add_range_ctx() 78 map = list_first_entry(&iotlb->list, typeof(*map), link); in vhost_iotlb_add_range_ctx() 79 vhost_iotlb_map_free(iotlb, map); in vhost_iotlb_add_range_ctx() [all …]
|
| H A D | vhost.c | 394 vq->iotlb = NULL; in vhost_vq_reset() 599 dev->iotlb = NULL; in vhost_dev_init() 1224 vhost_iotlb_free(dev->iotlb); in vhost_dev_cleanup() 1225 dev->iotlb = NULL; in vhost_dev_cleanup() 1330 if (!vq->iotlb) in vhost_copy_to_user() 1365 if (!vq->iotlb) in vhost_copy_from_user() 1446 if (!vq->iotlb) { \ 1491 if (!vq->iotlb) { \ 1597 struct vhost_iotlb_msg *vq_msg = &node->msg.iotlb; in vhost_iotlb_notify_vq() 1639 if (!dev->iotlb) { in vhost_process_iotlb_msg() [all …]
|
| H A D | vhost.h | 150 struct vhost_iotlb *iotlb; member 185 struct vhost_iotlb *iotlb; member 219 void vhost_dev_reset_owner(struct vhost_dev *dev, struct vhost_iotlb *iotlb); 282 void vhost_iotlb_map_free(struct vhost_iotlb *iotlb,
|
| H A D | Makefile | 19 vhost_iotlb-y := iotlb.o
|
| H A D | scsi.c | 414 WARN_ON_ONCE(unlikely(vq->iotlb)); in vhost_scsi_log_write()
|
| /linux/include/linux/ |
| H A D | vhost_iotlb.h | 33 int vhost_iotlb_add_range_ctx(struct vhost_iotlb *iotlb, u64 start, u64 last, 35 int vhost_iotlb_add_range(struct vhost_iotlb *iotlb, u64 start, u64 last, 37 void vhost_iotlb_del_range(struct vhost_iotlb *iotlb, u64 start, u64 last); 39 void vhost_iotlb_init(struct vhost_iotlb *iotlb, unsigned int limit, 42 void vhost_iotlb_free(struct vhost_iotlb *iotlb); 43 void vhost_iotlb_reset(struct vhost_iotlb *iotlb); 46 vhost_iotlb_itree_first(struct vhost_iotlb *iotlb, u64 start, u64 last); 50 void vhost_iotlb_map_free(struct vhost_iotlb *iotlb,
|
| H A D | vringh.h | 51 struct vhost_iotlb *iotlb; member 287 void vringh_set_iotlb(struct vringh *vrh, struct vhost_iotlb *iotlb,
|
| /linux/drivers/vdpa/vdpa_user/ |
| H A D | iova_domain.h | 38 struct vhost_iotlb *iotlb; member 46 struct vhost_iotlb *iotlb); 49 struct vhost_iotlb *iotlb);
|
| H A D | vduse_dev.c | 761 struct vhost_iotlb *iotlb) in vduse_vdpa_set_map() argument 766 ret = vduse_domain_set_map(dev->domain, iotlb); in vduse_vdpa_set_map() 772 vduse_domain_clear_map(dev->domain, iotlb); in vduse_vdpa_set_map() 1185 map = vhost_iotlb_itree_first(dev->domain->iotlb, in vduse_dev_ioctl() 1394 map = vhost_iotlb_itree_first(dev->domain->iotlb, in vduse_dev_ioctl()
|
| /linux/drivers/vdpa/mlx5/core/ |
| H A D | mlx5_vdpa.h | 35 struct vhost_iotlb *iotlb; member 54 struct vhost_iotlb *iotlb; member 150 struct vhost_iotlb *iotlb); 162 struct vhost_iotlb *iotlb,
|
| H A D | resources.c | 232 mvdev->cvq.iotlb = vhost_iotlb_alloc(0, 0); in init_ctrl_vq() 233 if (!mvdev->cvq.iotlb) in init_ctrl_vq() 237 vringh_set_iotlb(&mvdev->cvq.vring, mvdev->cvq.iotlb, &mvdev->cvq.iommu_lock); in init_ctrl_vq() 244 vhost_iotlb_free(mvdev->cvq.iotlb); in cleanup_ctrl_vq()
|
| /linux/include/uapi/linux/ |
| H A D | vhost_types.h | 99 struct vhost_iotlb_msg iotlb; member 108 struct vhost_iotlb_msg iotlb; member
|
| /linux/drivers/iommu/iommufd/ |
| H A D | iommufd_test.h | 154 __u32 iotlb; member 225 __u32 iotlb; member
|
| /linux/drivers/vdpa/mlx5/net/ |
| H A D | mlx5_vnet.c | 3333 static int set_map_data(struct mlx5_vdpa_dev *mvdev, struct vhost_iotlb *iotlb, in set_map_data() argument 3342 if (vhost_iotlb_itree_first(iotlb, 0, U64_MAX)) { in set_map_data() 3343 new_mr = mlx5_vdpa_create_mr(mvdev, iotlb); in set_map_data() 3364 return mlx5_vdpa_update_cvq_iotlb(mvdev, iotlb, asid); in set_map_data() 3372 struct vhost_iotlb *iotlb) in mlx5_vdpa_set_map() argument 3379 err = set_map_data(mvdev, iotlb, asid); in mlx5_vdpa_set_map() 3650 err = mlx5_vdpa_update_cvq_iotlb(mvdev, mvdev->mres.mr[asid]->iotlb, asid); in mlx5_set_group_asid()
|
| /linux/Documentation/userspace-api/ |
| H A D | vduse.rst | 213 * the iotlb mapping. The munmap(2) should be called for the
|
| /linux/tools/testing/selftests/iommu/ |
| H A D | iommufd.c | 430 offsetofend(struct iommu_hwpt_selftest, iotlb); in TEST_F() 432 .iotlb = IOMMU_TEST_IOTLB_DEFAULT, in TEST_F() 593 * Invalidate the 1st iotlb entry but fail the 2nd request in TEST_F() 614 * Invalidate the 1st iotlb entry but fail the 2nd request in TEST_F() 634 /* Invalidate the 2nd iotlb entry and verify */ in TEST_F() 649 /* Invalidate the 3rd and 4th iotlb entries and verify */ in TEST_F() 661 /* Invalidate all iotlb entries for nested_hwpt_id[1] and verify */ in TEST_F() 2798 .iotlb = IOMMU_TEST_IOTLB_DEFAULT, in FIXTURE_SETUP() 2877 .iotlb = IOMMU_TEST_IOTLB_DEFAULT, in TEST_F() 3286 .iotlb in TEST_F() [all...] |
| H A D | iommufd_fail_nth.c | 625 .iotlb = IOMMU_TEST_IOTLB_DEFAULT, in TEST_FAIL_NTH()
|
| H A D | iommufd_utils.h | 265 .iotlb = expected, \
|