[PATCH RESEND v10 0/4] iommu: Shared Virtual Addressing for SMMUv3 (PT sharing part)

Jean-Philippe Brucker jean-philippe at linaro.org
Fri Nov 6 10:50:46 EST 2020


These are the remaining bits implementing iommu_sva_bind_device() for
SMMUv3. They didn't make it into v5.10 because an Ack was missing for
adding the PASID field to mm_struct. That is now upstream, in commit
52ad9bc64c74 ("mm: Add a pasid member to struct mm_struct"). No change
since last posting [1], only rebased onto v5.10-rc2.

Note that full SVA support for SMMUv3 still needs IOPF and DVM support,
coming soon.

[1] https://lore.kernel.org/linux-iommu/20200918101852.582559-1-jean-philippe@linaro.org/

Jean-Philippe Brucker (4):
  iommu/ioasid: Add ioasid references
  iommu/sva: Add PASID helpers
  iommu/arm-smmu-v3: Implement iommu_sva_bind/unbind()
  iommu/arm-smmu-v3: Hook up ATC invalidation to mm ops

 drivers/iommu/Kconfig                         |   7 +
 drivers/iommu/Makefile                        |   1 +
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h   |  30 +++
 drivers/iommu/iommu-sva-lib.h                 |  15 ++
 include/linux/ioasid.h                        |  10 +-
 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c   | 244 +++++++++++++++++-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   |  50 +++-
 drivers/iommu/intel/iommu.c                   |   4 +-
 drivers/iommu/intel/svm.c                     |   6 +-
 drivers/iommu/ioasid.c                        |  38 ++-
 drivers/iommu/iommu-sva-lib.c                 |  86 ++++++
 11 files changed, 468 insertions(+), 23 deletions(-)
 create mode 100644 drivers/iommu/iommu-sva-lib.h
 create mode 100644 drivers/iommu/iommu-sva-lib.c

-- 
2.29.1




More information about the linux-arm-kernel mailing list