Home
last modified time | relevance | path

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

/Linux-v6.6/drivers/vfio/
Ddevice_cdev.c71 if (bind.argsz < minsz || bind.flags || bind.iommufd < 0) in vfio_df_ioctl_bind_iommufd()
89 df->iommufd = iommufd_ctx_from_fd(bind.iommufd); in vfio_df_ioctl_bind_iommufd()
90 if (IS_ERR(df->iommufd)) { in vfio_df_ioctl_bind_iommufd()
91 ret = PTR_ERR(df->iommufd); in vfio_df_ioctl_bind_iommufd()
92 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd()
126 iommufd_ctx_put(df->iommufd); in vfio_df_ioctl_bind_iommufd()
127 df->iommufd = NULL; in vfio_df_ioctl_bind_iommufd()
149 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(f.file); 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 …]
DMakefile8 vfio-$(CONFIG_IOMMUFD) += iommufd.o
Dvfio_main.c462 struct iommufd_ctx *iommufd = df->iommufd; in vfio_df_device_first_open() local
470 if (iommufd) in vfio_df_device_first_open()
485 if (iommufd) in vfio_df_device_first_open()
497 struct iommufd_ctx *iommufd = df->iommufd; in vfio_df_device_last_close() local
503 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-v6.6/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.rst29 iommufd
/Linux-v6.6/drivers/iommu/iommufd/
DMakefile2 iommufd-y := \
11 iommufd-$(CONFIG_IOMMUFD_TEST) += selftest.o
13 obj-$(CONFIG_IOMMUFD) += iommufd.o
/Linux-v6.6/tools/testing/selftests/iommu/
D.gitignore2 /iommufd
DMakefile8 TEST_GEN_PROGS += iommufd
Diommufd.c53 FIXTURE(iommufd) in FIXTURE() argument
58 FIXTURE_SETUP(iommufd) in FIXTURE_SETUP() argument
64 FIXTURE_TEARDOWN(iommufd) in FIXTURE_TEARDOWN() argument
69 TEST_F(iommufd, simple_close) in TEST_F() argument
73 TEST_F(iommufd, cmd_fail) in TEST_F() argument
87 TEST_F(iommufd, cmd_length) in TEST_F() argument
128 TEST_F(iommufd, cmd_ex_fail) in TEST_F() argument
148 TEST_F(iommufd, global_options) in TEST_F() argument
1419 TEST_F(iommufd, simple_ioctls) in TEST_F() argument
1425 TEST_F(iommufd, unmap_cmd) in TEST_F() argument
[all …]
/Linux-v6.6/drivers/iommu/
DMakefile2 obj-y += amd/ intel/ arm/ iommufd/
DKconfig189 source "drivers/iommu/iommufd/Kconfig"
/Linux-v6.6/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-v6.6/include/uapi/linux/
Dvfio.h922 __s32 iommufd; member
/Linux-v6.6/drivers/vfio/pci/
Dvfio_pci_core.c802 struct iommufd_ctx *iommufd = vfio_iommufd_device_ictx(fill->vdev); in vfio_pci_fill_devs() local
814 int id = vfio_iommufd_get_dev_id(vdev, iommufd); in vfio_pci_fill_devs()
/Linux-v6.6/Documentation/userspace-api/ioctl/
Dioctl-number.rst108 ';' 80-FF linux/iommufd.h
/Linux-v6.6/
DMAINTAINERS10993 T: git git://git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd.git
10994 F: Documentation/userspace-api/iommufd.rst
10995 F: drivers/iommu/iommufd/
10996 F: include/linux/iommufd.h
10997 F: include/uapi/linux/iommufd.h