[PATCH v4 0/4] Add iommufd ioctls to support TSM operations

Aneesh Kumar K.V (Arm)
2026-04-27T06:10:24Z

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 v2:
https://lore.kernel.org/all/20260309111704.2330479-1-aneesh.kumar@kernel.org
* 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.kumar@kernel.org
* 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>

Aneesh Kumar K.V (Arm) (2):
iommufd/tsm: add vdevice TSM bind/unbind ioctl
iommufd/vdevice: add TSM guest request ioctl

Nicolin Chen (1):
iommufd/viommu: Associate a kvm pointer to iommufd_viommu

Shameer Kolothum (1):
iommufd/device: Associate a kvm pointer to iommufd_device

drivers/iommu/iommufd/Makefile | 2 +
drivers/iommu/iommufd/device.c | 5 +-
drivers/iommu/iommufd/iommufd_private.h | 17 ++++
drivers/iommu/iommufd/main.c | 6 ++
drivers/iommu/iommufd/selftest.c | 2 +-
drivers/iommu/iommufd/tsm.c | 109 ++++++++++++++++++++++++
drivers/iommu/iommufd/viommu.c | 24 +++++-
drivers/vfio/iommufd.c | 2 +-
drivers/virt/coco/tsm-core.c | 30 +++++++
include/linux/iommu.h | 1 +
include/linux/iommufd.h | 5 +-
include/linux/tsm.h | 42 +++++++++
include/uapi/linux/iommufd.h | 67 +++++++++++++++
13 files changed, 305 insertions(+), 7 deletions(-)
create mode 100644 drivers/iommu/iommufd/tsm.c

--
2.43.0