Home
last modified time | relevance | path

Searched refs:iommufd (Results 1 – 21 of 21) sorted by relevance

/linux-6.15/drivers/vfio/
H A Dgroup.c92 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 Ddevice_cdev.c78 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 DMakefile7 vfio-$(CONFIG_IOMMUFD) += iommufd.o
H A Dvfio_main.c508 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 Dvfio.h27 struct iommufd_ctx *iommufd; /* protected by struct vfio_device_set::lock */ member
94 struct iommufd_ctx *iommufd; member
H A Diommufd.c24 struct iommufd_ctx *ictx = df->iommufd; in vfio_df_iommufd_bind()
H A DKconfig24 /dev/vfio/devices/vfioX, and then bind the device fd with an iommufd
/linux-6.15/drivers/iommu/iommufd/
H A DMakefile2 iommufd-y := \
13 iommufd-$(CONFIG_IOMMUFD_TEST) += selftest.o
15 obj-$(CONFIG_IOMMUFD) += iommufd.o
/linux-6.15/Documentation/userspace-api/
H A Diommufd.rst19 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 Dindex.rst51 iommufd
/linux-6.15/tools/testing/selftests/iommu/
H A D.gitignore2 /iommufd
H A DMakefile7 TEST_GEN_PROGS += iommufd
H A Diommufd.c59 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 DMakefile4 arm_smmu_v3-$(CONFIG_ARM_SMMU_V3_IOMMUFD) += arm-smmu-v3-iommufd.o
/linux-6.15/drivers/iommu/
H A DMakefile2 obj-y += amd/ intel/ arm/ iommufd/ riscv/
H A DKconfig196 source "drivers/iommu/iommufd/Kconfig"
/linux-6.15/Documentation/driver-api/
H A Dvfio.rst329 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 Dvfio.h925 __s32 iommufd; member
/linux-6.15/drivers/vfio/pci/
H A Dvfio_pci_core.c791 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 Dioctl-number.rst114 ';' 80-FF linux/iommufd.h
/linux-6.15/
H A DMAINTAINERS12475 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