| /linux/tools/testing/selftests/vfio/ |
| H A D | vfio_iommufd_setup_test.c | 18 static int vfio_device_bind_iommufd_ioctl(int cdev_fd, int iommufd) in vfio_device_bind_iommufd_ioctl() argument 22 .iommufd = iommufd, in vfio_device_bind_iommufd_ioctl() 35 static int vfio_device_ioas_alloc_ioctl(int iommufd, struct iommu_ioas_alloc *alloc_args) in vfio_device_ioas_alloc_ioctl() argument 41 return ioctl(iommufd, IOMMU_IOAS_ALLOC, alloc_args); in vfio_device_ioas_alloc_ioctl() 65 int iommufd; in FIXTURE() local 71 ASSERT_LE(0, (self->iommufd = open(iommu_dev_path, O_RDWR, 0))); in FIXTURE_SETUP() 77 ASSERT_EQ(0, close(self->iommufd)); in FIXTURE_TEARDOWN() 82 ASSERT_EQ(0, vfio_device_bind_iommufd_ioctl(self->cdev_fd, self->iommufd)); in TEST_F() 98 ASSERT_EQ(0, vfio_device_bind_iommufd_ioctl(self->cdev_fd, self->iommufd)); in TEST_F() 99 ASSERT_NE(0, vfio_device_bind_iommufd_ioctl(self->cdev_fd, self->iommufd)); in TEST_F() [all …]
|
| /linux/tools/testing/selftests/vfio/lib/ |
| H A D | iommu.c | 129 if (ioctl(iommu->iommufd, IOMMU_IOAS_MAP, &args)) in iommufd_map() 139 if (iommu->iommufd) in __iommu_map() 198 return __iommufd_unmap(iommu->iommufd, region->iova, region->size, in iommufd_unmap() 206 if (iommu->iommufd) in __iommu_unmap() 224 if (iommu->iommufd) in __iommu_unmap_all() 225 ret = __iommufd_unmap(iommu->iommufd, 0, UINT64_MAX, in __iommu_unmap_all() 353 ret = ioctl(iommu->iommufd, IOMMU_IOAS_IOVA_RANGES, &query); in iommufd_iova_ranges() 362 ioctl_assert(iommu->iommufd, IOMMU_IOAS_IOVA_RANGES, &query); in iommufd_iova_ranges() 386 if (iommu->iommufd) in iommu_iova_ranges() 408 static u32 iommufd_ioas_alloc(int iommufd) in iommufd_ioas_alloc() argument [all …]
|
| H A D | vfio_pci_device.c | 412 int __vfio_device_bind_iommufd(int device_fd, int iommufd, const char *vf_token) in __vfio_device_bind_iommufd() argument 416 .iommufd = iommufd, in __vfio_device_bind_iommufd() 432 static void vfio_device_bind_iommufd(int device_fd, int iommufd, in vfio_device_bind_iommufd() argument 435 int ret = __vfio_device_bind_iommufd(device_fd, iommufd, vf_token); in vfio_device_bind_iommufd() 463 vfio_device_bind_iommufd(device->fd, device->iommu->iommufd, vf_token); in vfio_pci_iommufd_setup()
|
| /linux/Documentation/userspace-api/ |
| H A D | iommufd.rst | 19 At minimum iommufd provides universal support of managing I/O address spaces and 24 small letter (iommufd) refers to the file descriptors created via /dev/iommu for 41 - IOMMUFD_OBJ_DEVICE, representing a device that is bound to iommufd by an 131 overhead from the hypercalls. Along with the HW QUEUE object, iommufd provides 141 datastructures (external to iommufd), with numbers referred to operations 145 | iommufd (HWPT_PAGING only) | 161 | iommufd (with HWPT_NESTED) | 177 | iommufd (with vIOMMU/vDEVICE) | 198 1. IOMMUFD_OBJ_IOAS is created via the IOMMU_IOAS_ALLOC uAPI. An iommufd can 204 to bind a device to an iommufd. The driver is expected to implement a set of [all …]
|
| /linux/tools/testing/selftests/vfio/lib/include/libvfio/ |
| H A D | iommu.h | 30 int iommufd; member 68 #define MODE_IOMMUFD "iommufd" 80 FIXTURE_VARIANT_ADD_IOMMU_MODE(iommufd, ##__VA_ARGS__)
|
| H A D | vfio_pci_device.h | 161 int __vfio_device_bind_iommufd(int device_fd, int iommufd, const char *vf_token);
|
| /linux/tools/testing/selftests/iommu/ |
| H A D | .gitignore | 2 /iommufd
|
| H A D | iommufd.c | 58 FIXTURE(iommufd) in FIXTURE() argument 63 FIXTURE_SETUP(iommufd) in FIXTURE_SETUP() argument 69 FIXTURE_TEARDOWN(iommufd) in FIXTURE_TEARDOWN() argument 74 TEST_F(iommufd, simple_close) in TEST_F() argument 78 TEST_F(iommufd, cmd_fail) in TEST_F() argument 92 TEST_F(iommufd, cmd_length) in TEST_F() argument 143 TEST_F(iommufd, cmd_ex_fail) in TEST_F() argument 163 TEST_F(iommufd, global_options) in TEST_F() argument 2428 TEST_F(iommufd, simple_ioctls) in TEST_F() 2434 TEST_F(iommufd, unmap_cm in TEST_F() 2386 TEST_F(iommufd,simple_ioctls) TEST_F() argument 2392 TEST_F(iommufd,unmap_cmd) TEST_F() argument 2410 TEST_F(iommufd,map_cmd) TEST_F() argument 2430 TEST_F(iommufd,info_cmd) TEST_F() argument 2442 TEST_F(iommufd,set_iommu_cmd) TEST_F() argument 2450 TEST_F(iommufd,vfio_ioas) TEST_F() argument [all...] |
| /linux/drivers/iommu/arm/arm-smmu-v3/ |
| H A D | Makefile | 4 arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_IOMMUFD) += arm-smmu-v3-iommufd.o
|
| /linux/drivers/vfio/ |
| H A D | Makefile | 7 vfio-$(CONFIG_IOMMUFD) += iommufd.o
|
| H A D | vfio_main.c | 550 struct iommufd_ctx *iommufd = df->iommufd; in vfio_df_device_first_open() local 558 if (iommufd) in vfio_df_device_first_open() 573 if (iommufd) in vfio_df_device_first_open() 585 struct iommufd_ctx *iommufd = df->iommufd; in vfio_df_device_last_close() local 591 if (iommufd) in vfio_df_device_last_close()
|
| /linux/include/uapi/linux/ |
| H A D | vfio.h | 935 __s32 iommufd; member
|
| /linux/drivers/vfio/pci/ |
| H A D | vfio_pci_core.c | 921 struct iommufd_ctx *iommufd = vfio_iommufd_device_ictx(fill->vdev); in vfio_pci_fill_devs() local 933 int id = vfio_iommufd_get_dev_id(vdev, iommufd); in vfio_pci_fill_devs()
|
| /linux/Documentation/userspace-api/ioctl/ |
| H A D | ioctl-number.rst | 117 ';' 80-FF linux/iommufd.h
|
| /linux/ |
| H A D | MAINTAINERS | 13718 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd.git 13719 F: Documentation/userspace-api/iommufd.rst 13720 F: drivers/iommu/iommufd/ 13721 F: include/linux/iommufd.h 13722 F: include/uapi/linux/iommufd.h
|