Home
last modified time | relevance | path

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

/linux-6.12.1/drivers/vfio/
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()
Dgroup.c67 return group->container || group->iommufd; in vfio_group_has_iommu()
92 if (group->iommufd) { in vfio_group_ioctl_unset_container()
93 iommufd_ctx_put(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 iommufd = iommufd_ctx_from_file(fd_file(f)); in vfio_group_ioctl_set_container()
135 if (!IS_ERR(iommufd)) { in vfio_group_ioctl_set_container()
138 ret = iommufd_vfio_compat_set_no_iommu(iommufd); in vfio_group_ioctl_set_container()
140 ret = iommufd_vfio_compat_ioas_create(iommufd); in vfio_group_ioctl_set_container()
143 iommufd_ctx_put(iommufd); in vfio_group_ioctl_set_container()
[all …]
DMakefile7 vfio-$(CONFIG_IOMMUFD) += iommufd.o
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()
Dvfio.h27 struct iommufd_ctx *iommufd; /* protected by struct vfio_device_set::lock */ member
94 struct iommufd_ctx *iommufd; member
Diommufd.c24 struct iommufd_ctx *ictx = df->iommufd; in vfio_df_iommufd_bind()
DKconfig24 /dev/vfio/devices/vfioX, and then bind the device fd with an iommufd
/linux-6.12.1/Documentation/userspace-api/
Diommufd.rst19 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
53 datastructures (external to iommufd), with numbers referred to operations
57 | iommufd |
85 1. IOMMUFD_OBJ_IOAS is created via the IOMMU_IOAS_ALLOC uAPI. An iommufd can
91 to bind a device to an iommufd. The driver is expected to implement a set of
113 A device can only bind to an iommufd due to DMA ownership claim and attach to at
169 devices managed by different subsystems are bound to a same iommufd.
174 .. kernel-doc:: include/uapi/linux/iommufd.h
[all …]
Dindex.rst48 iommufd
/linux-6.12.1/drivers/iommu/iommufd/
DMakefile2 iommufd-y := \
12 iommufd-$(CONFIG_IOMMUFD_TEST) += selftest.o
14 obj-$(CONFIG_IOMMUFD) += iommufd.o
/linux-6.12.1/tools/testing/selftests/iommu/
D.gitignore2 /iommufd
DMakefile6 TEST_GEN_PROGS += iommufd
Diommufd.c54 FIXTURE(iommufd) in FIXTURE() argument
59 FIXTURE_SETUP(iommufd) in FIXTURE_SETUP() argument
65 FIXTURE_TEARDOWN(iommufd) in FIXTURE_TEARDOWN() argument
70 TEST_F(iommufd, simple_close) in TEST_F() argument
74 TEST_F(iommufd, cmd_fail) in TEST_F() argument
88 TEST_F(iommufd, cmd_length) in TEST_F() argument
134 TEST_F(iommufd, cmd_ex_fail) in TEST_F() argument
154 TEST_F(iommufd, global_options) in TEST_F() argument
2004 TEST_F(iommufd, simple_ioctls) in TEST_F() argument
2010 TEST_F(iommufd, unmap_cmd) in TEST_F() argument
[all …]
/linux-6.12.1/drivers/iommu/
DMakefile2 obj-y += amd/ intel/ arm/ iommufd/
DKconfig197 source "drivers/iommu/iommufd/Kconfig"
/linux-6.12.1/Documentation/driver-api/
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.12.1/include/uapi/linux/
Dvfio.h924 __s32 iommufd; member
/linux-6.12.1/drivers/vfio/pci/
Dvfio_pci_core.c799 struct iommufd_ctx *iommufd = vfio_iommufd_device_ictx(fill->vdev); in vfio_pci_fill_devs() local
811 int id = vfio_iommufd_get_dev_id(vdev, iommufd); in vfio_pci_fill_devs()
/linux-6.12.1/Documentation/userspace-api/ioctl/
Dioctl-number.rst112 ';' 80-FF linux/iommufd.h
/linux-6.12.1/
DMAINTAINERS11922 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd.git
11923 F: Documentation/userspace-api/iommufd.rst
11924 F: drivers/iommu/iommufd/
11925 F: include/linux/iommufd.h
11926 F: include/uapi/linux/iommufd.h