[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
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,
v2:
- 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
alloc_paging()
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
--
2.42.0
More information about the Linuxppc-dev
mailing list