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

Jason Gunthorpe jgg at nvidia.com
Fri Sep 22 10:07:51 PDT 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
domain_alloc_paging().

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,

The follows the "Make default_domain's mandatory" series

Jason Gunthorpe (8):
  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
    alloc_paging()

 arch/powerpc/kernel/iommu.c      |   9 +--
 drivers/iommu/apple-dart.c       | 124 ++++++++++++++++++++-----------
 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, 91 insertions(+), 65 deletions(-)


base-commit: 494e0fef6db2e604bca0fc552d92b760b6e25d10
-- 
2.42.0




More information about the linux-arm-kernel mailing list