[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