Add iommufd ioctls to support TSM operations
| From: | "Aneesh Kumar K.V (Arm)" <aneesh.kumar-AT-kernel.org> | |
| To: | linux-coco-AT-lists.linux.dev, iommu-AT-lists.linux.dev, linux-kernel-AT-vger.kernel.org, kvm-AT-vger.kernel.org | |
| Subject: | [PATCH v5 0/5] Add iommufd ioctls to support TSM operations | |
| Date: | Mon, 25 May 2026 21:18:11 +0530 | |
| Message-ID: | <20260525154816.1029642-1-aneesh.kumar@kernel.org> | |
| Cc: | "Aneesh Kumar K.V (Arm)" <aneesh.kumar-AT-kernel.org>, Alexey Kardashevskiy <aik-AT-amd.com>, Bjorn Helgaas <helgaas-AT-kernel.org>, Dan Williams <dan.j.williams-AT-intel.com>, Jason Gunthorpe <jgg-AT-ziepe.ca>, Joerg Roedel <joro-AT-8bytes.org>, Jonathan Cameron <jic23-AT-kernel.org>, Kevin Tian <kevin.tian-AT-intel.com>, Nicolin Chen <nicolinc-AT-nvidia.com>, Samuel Ortiz <sameo-AT-rivosinc.com>, Steven Price <steven.price-AT-arm.com>, Suzuki K Poulose <Suzuki.Poulose-AT-arm.com>, Will Deacon <will-AT-kernel.org>, Xu Yilun <yilun.xu-AT-linux.intel.com>, Shameer Kolothum <shameerali.kolothum.thodi-AT-huawei.com>, Paolo Bonzini <pbonzini-AT-redhat.com>, Tony Krowiak <akrowiak-AT-linux.ibm.com>, Halil Pasic <pasic-AT-linux.ibm.com>, Jason Herne <jjherne-AT-linux.ibm.com>, Harald Freudenberger <freude-AT-linux.ibm.com>, Holger Dengler <dengler-AT-linux.ibm.com>, Heiko Carstens <hca-AT-linux.ibm.com>, Vasily Gorbik <gor-AT-linux.ibm.com>, Alexander Gordeev <agordeev-AT-linux.ibm.com>, Christian Borntraeger <borntraeger-AT-linux.ibm.com>, Sven Schnelle <svens-AT-linux.ibm.com>, Alex Williamson <alex-AT-shazbot.org>, Matthew Rosato <mjrosato-AT-linux.ibm.com>, Farhan Ali <alifm-AT-linux.ibm.com>, Eric Farman <farman-AT-linux.ibm.com>, linux-s390-AT-vger.kernel.org | |
| Archive-link: | Article |
This patch series adds iommufd ioctl support for TSM-related operations. These ioctls allow VMMs to perform TSM management tasks such as bind and unbind operations, and to handle guest requests. Changes from v4: https://lore.kernel.org/all/20260427061005.901854-1-anees... * Switch VFIO/iommufd to use struct file *kvm_file instead of relying on kvm->users_count references. * Define TSM request scope values globally in iommufd. * Rename the ioctl to IOMMU_VDEVICE_TSM_REQ. * Address other review feedback. Changes from v2: https://lore.kernel.org/all/20260309111704.2330479-1-anee... * Bump the series revision to v4 to keep it in sync with the dependent CCA DA patchsets. There was no v3 posting. * Drop [PATCH v2 1/3] iommufd/viommu: Allow associating a KVM VM fd with a vIOMMU * Add two new patches to associate a struct kvm * with iommufd objects: iommufd/device: Associate a kvm pointer to iommufd_device iommufd/viommu: Associate a kvm pointer to iommufd_viommu * Address review feedback Changes from v1: https://lore.kernel.org/all/20250728135216.48084-8-aneesh... * Rebase onto the latest kernel * Address review feedback * Drop the TSM map ioctl; the KVM prefault patch will be used instead to ensure that private memory is preallocated Cc: Alexey Kardashevskiy <aik@amd.com> Cc: Bjorn Helgaas <helgaas@kernel.org> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Jason Gunthorpe <jgg@ziepe.ca> Cc: Joerg Roedel <joro@8bytes.org> Cc: Jonathan Cameron <jic23@kernel.org> Cc: Kevin Tian <kevin.tian@intel.com> Cc: Nicolin Chen <nicolinc@nvidia.com> Cc: Samuel Ortiz <sameo@rivosinc.com> Cc: Steven Price <steven.price@arm.com> Cc: Suzuki K Poulose <Suzuki.Poulose@arm.com> Cc: Will Deacon <will@kernel.org> Cc: Xu Yilun <yilun.xu@linux.intel.com> Cc: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Tony Krowiak <akrowiak@linux.ibm.com> Cc: Halil Pasic <pasic@linux.ibm.com> Cc: Jason Herne <jjherne@linux.ibm.com> Cc: Harald Freudenberger <freude@linux.ibm.com> Cc: Holger Dengler <dengler@linux.ibm.com> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Christian Borntraeger <borntraeger@linux.ibm.com> Cc: Sven Schnelle <svens@linux.ibm.com> Cc: Alex Williamson <alex@shazbot.org> Cc: Matthew Rosato <mjrosato@linux.ibm.com> Cc: Farhan Ali <alifm@linux.ibm.com> Cc: Eric Farman <farman@linux.ibm.com> Cc: linux-s390@vger.kernel.org Aneesh Kumar K.V (Arm) (3): vfio: cache KVM VM file references instead of raw struct kvm pointers iommufd/tsm: add vdevice TSM bind/unbind ioctl iommufd/vdevice: add TSM request ioctl Nicolin Chen (1): iommufd/viommu: Keep a reference to the KVM file Shameer Kolothum (1): iommufd/device: Associate KVM file pointer with iommufd_device drivers/iommu/iommufd/Makefile | 2 + drivers/iommu/iommufd/device.c | 7 +- drivers/iommu/iommufd/iommufd_private.h | 16 +++ drivers/iommu/iommufd/main.c | 6 ++ drivers/iommu/iommufd/selftest.c | 2 +- drivers/iommu/iommufd/tsm.c | 130 ++++++++++++++++++++++++ drivers/iommu/iommufd/viommu.c | 9 ++ drivers/s390/crypto/vfio_ap_ops.c | 5 +- drivers/vfio/device_cdev.c | 10 +- drivers/vfio/group.c | 14 ++- drivers/vfio/iommufd.c | 3 +- drivers/vfio/pci/vfio_pci_zdev.c | 7 +- drivers/vfio/vfio.h | 16 ++- drivers/vfio/vfio_main.c | 81 ++++++++------- drivers/virt/coco/tsm-core.c | 58 +++++++++++ include/linux/iommufd.h | 5 +- include/linux/kvm_host.h | 3 + include/linux/pci-tsm.h | 9 +- include/linux/tsm.h | 42 ++++++++ include/linux/vfio.h | 17 +++- include/uapi/linux/iommufd.h | 106 +++++++++++++++++++ virt/kvm/kvm_main.c | 2 + 22 files changed, 478 insertions(+), 72 deletions(-) create mode 100644 drivers/iommu/iommufd/tsm.c base-commit: 50897c955902c93ae71c38698abb910525ebdc89 -- 2.43.0
