|
|
Log in / Subscribe / Register

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




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds