| /linux-6.15/drivers/vfio/ |
| H A D | group.c | 92 if (group->iommufd) { in vfio_group_ioctl_unset_container() 94 group->iommufd = NULL; in vfio_group_ioctl_unset_container() 106 struct iommufd_ctx *iommufd; in vfio_group_ioctl_set_container() local 134 if (!IS_ERR(iommufd)) { in vfio_group_ioctl_set_container() 142 iommufd_ctx_put(iommufd); in vfio_group_ioctl_set_container() 146 group->iommufd = iommufd; in vfio_group_ioctl_set_container() 187 df->iommufd = device->group->iommufd; in vfio_df_group_open() 225 df->iommufd = NULL; in vfio_df_group_open() 242 df->iommufd = NULL; in vfio_df_group_close() 481 if (group->iommufd) { in vfio_group_fops_release() [all …]
|
| H A D | device_cdev.c | 78 if (bind.argsz < minsz || bind.flags || bind.iommufd < 0) in vfio_df_ioctl_bind_iommufd() 96 df->iommufd = iommufd_ctx_from_fd(bind.iommufd); in vfio_df_ioctl_bind_iommufd() 97 if (IS_ERR(df->iommufd)) { in vfio_df_ioctl_bind_iommufd() 98 ret = PTR_ERR(df->iommufd); in vfio_df_ioctl_bind_iommufd() 99 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd() 133 iommufd_ctx_put(df->iommufd); in vfio_df_ioctl_bind_iommufd() 134 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd() 156 iommufd_ctx_put(df->iommufd); in vfio_df_unbind_iommufd()
|
| H A D | Makefile | 7 vfio-$(CONFIG_IOMMUFD) += iommufd.o
|
| H A D | vfio_main.c | 508 struct iommufd_ctx *iommufd = df->iommufd; in vfio_df_device_first_open() local 516 if (iommufd) in vfio_df_device_first_open() 531 if (iommufd) in vfio_df_device_first_open() 543 struct iommufd_ctx *iommufd = df->iommufd; in vfio_df_device_last_close() local 549 if (iommufd) in vfio_df_device_last_close()
|
| H A D | vfio.h | 27 struct iommufd_ctx *iommufd; /* protected by struct vfio_device_set::lock */ member 94 struct iommufd_ctx *iommufd; member
|
| H A D | iommufd.c | 24 struct iommufd_ctx *ictx = df->iommufd; in vfio_df_iommufd_bind()
|
| H A D | Kconfig | 24 /dev/vfio/devices/vfioX, and then bind the device fd with an iommufd
|
| /linux-6.15/drivers/iommu/iommufd/ |
| H A D | Makefile | 2 iommufd-y := \ 13 iommufd-$(CONFIG_IOMMUFD_TEST) += selftest.o 15 obj-$(CONFIG_IOMMUFD) += iommufd.o
|
| /linux-6.15/Documentation/userspace-api/ |
| H A D | iommufd.rst | 19 At minimum iommufd provides universal support of managing I/O address spaces and 41 - IOMMUFD_OBJ_DEVICE, representing a device that is bound to iommufd by an 130 datastructures (external to iommufd), with numbers referred to operations 318 devices managed by different subsystems are bound to a same iommufd. 323 .. kernel-doc:: include/uapi/linux/iommufd.h 330 device-centric uAPI for connecting its device to an iommufd, instead of 333 .. kernel-doc:: drivers/iommu/iommufd/device.c 336 .. kernel-doc:: drivers/iommu/iommufd/main.c 342 Connecting a VFIO device to iommufd can be done in two ways. 347 /dev/iommufd or extending VFIO to SET_CONTAINER using an iommufd instead of a [all …]
|
| H A D | index.rst | 51 iommufd
|
| /linux-6.15/tools/testing/selftests/iommu/ |
| H A D | .gitignore | 2 /iommufd
|
| H A D | Makefile | 7 TEST_GEN_PROGS += iommufd
|
| H A D | iommufd.c | 59 FIXTURE(iommufd) in FIXTURE() argument 64 FIXTURE_SETUP(iommufd) in FIXTURE_SETUP() argument 70 FIXTURE_TEARDOWN(iommufd) in FIXTURE_TEARDOWN() argument 75 TEST_F(iommufd, simple_close) in TEST_F() argument 79 TEST_F(iommufd, cmd_fail) in TEST_F() argument 93 TEST_F(iommufd, cmd_length) in TEST_F() argument 144 TEST_F(iommufd, cmd_ex_fail) in TEST_F() argument 2274 TEST_F(iommufd, unmap_cmd) in TEST_F() argument 2292 TEST_F(iommufd, map_cmd) in TEST_F() argument 2312 TEST_F(iommufd, info_cmd) in TEST_F() argument [all …]
|
| /linux-6.15/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-6.15/drivers/iommu/ |
| H A D | Makefile | 2 obj-y += amd/ intel/ arm/ iommufd/ riscv/
|
| H A D | Kconfig | 196 source "drivers/iommu/iommufd/Kconfig"
|
| /linux-6.15/Documentation/driver-api/ |
| H A D | vfio.rst | 329 the device except binding the cdev_fd to an iommufd. After that point 353 iommufd = open("/dev/iommu", O_RDWR); 355 bind.iommufd = iommufd; 358 ioctl(iommufd, IOMMU_IOAS_ALLOC, &alloc_data); 369 ioctl(iommufd, IOMMU_IOAS_MAP, &map); 448 and unbound from iommufd. 451 and detached from an IOAS managed by the bound iommufd. However, the 453 unbound from iommufd.
|
| /linux-6.15/include/uapi/linux/ |
| H A D | vfio.h | 925 __s32 iommufd; member
|
| /linux-6.15/drivers/vfio/pci/ |
| H A D | vfio_pci_core.c | 791 struct iommufd_ctx *iommufd = vfio_iommufd_device_ictx(fill->vdev); in vfio_pci_fill_devs() local 803 int id = vfio_iommufd_get_dev_id(vdev, iommufd); in vfio_pci_fill_devs()
|
| /linux-6.15/Documentation/userspace-api/ioctl/ |
| H A D | ioctl-number.rst | 114 ';' 80-FF linux/iommufd.h
|
| /linux-6.15/ |
| H A D | MAINTAINERS | 12475 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd.git 12476 F: Documentation/userspace-api/iommufd.rst 12477 F: drivers/iommu/iommufd/ 12478 F: include/linux/iommufd.h 12479 F: include/uapi/linux/iommufd.h
|