[PATCH v2 0/9] iommu: Convert dart & iommufd to the new domain_alloc_paging()

Jason Gunthorpe jgg at nvidia.com
Thu Sep 28 09:47:30 AEST 2023

Continue converting drivers to the new interface. Introduce
ops->blocked_domain to hold the global static BLOCKED domain and convert
all drivers supporting BLOCKED to use it.

This makes it trivial for dart and iommufd to convert over to

There are six drivers remaining:

drivers/iommu/amd/iommu.c:      .domain_alloc = amd_iommu_domain_alloc,
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c:    .domain_alloc           = arm_smmu_domain_alloc,
drivers/iommu/arm/arm-smmu/arm-smmu.c:  .domain_alloc           = arm_smmu_domain_alloc,
drivers/iommu/fsl_pamu_domain.c:        .domain_alloc   = fsl_pamu_domain_alloc,
drivers/iommu/intel/iommu.c:    .domain_alloc           = intel_iommu_domain_alloc,
drivers/iommu/virtio-iommu.c:   .domain_alloc           = viommu_domain_alloc,

 - Rebase to Joerg's for-next
 - New patch to remove force_bypass, as discussed with Janne
 - Move some hunks between patches to accommodate Robin's change to the
   attach_dev switch
v1: https://lore.kernel.org/r/0-v1-8060f06462cc+c0a39-dart_paging_jgg@nvidia.com

Jason Gunthorpe (9):
  iommu: Move IOMMU_DOMAIN_BLOCKED global statics to ops->blocked_domain
  iommu/vt-d: Update the definition of the blocking domain
  iommu/vt-d: Use ops->blocked_domain
  iommufd: Convert to alloc_domain_paging()
  iommu/dart: Use static global identity domains
  iommu/dart: Move the blocked domain support to a global static
  iommu/dart: Convert to domain_alloc_paging()
  iommu/dart: Call apple_dart_finalize_domain() as part of
  iommu/dart: Remove the force_bypass variable

 arch/powerpc/kernel/iommu.c      |   9 +-
 drivers/iommu/apple-dart.c       | 137 ++++++++++++++++++-------------
 drivers/iommu/intel/iommu.c      |   7 +-
 drivers/iommu/iommu.c            |   2 +
 drivers/iommu/iommufd/selftest.c |  11 +--
 include/linux/iommu.h            |   3 +
 6 files changed, 94 insertions(+), 75 deletions(-)

base-commit: 83653d8508051af13f74905fc3f6c2fa2e59dbee

More information about the Linuxppc-dev mailing list