[PATCH v7 0/7] Remove VT-d virtual command interface and IOASID

Jacob Pan
2023-03-20T19:04:36Z

Hi all,

This patch set removes unused VT-d virtual command interface followed by
removal of the IOASID infrastructure.

This has only been tested on x86 platforms, need help with testing on ARM
SMMU and other architectures.

Thanks,

Jacob

ChangeLog:
v7:
- use CONFIG_IOMMU_SVA around PASID helpers in fork.c, Fixes a
compile problem.
- Fix extra space

v6:
- put pasid helpers under iommu.h instead of iommu-helper.h
- add comments for pasid allocation function to clarify inclusive range

v5:
- rebased on v6.3-rc1
- put removing iommu_sva_find() in a separate patch (Kevin)
- move definition of helpers to iommu code to be consistent with
declarations. (Kevin)
- misc fixes

v4:
- keep mm_pasid helpers inline as much as we can for fork performance
- separate GFP_ATOMIC to GFP_KERNEL change for bisectability

v3:
- moved helper functions for PASID under SVA code, avoided circular inclusion
between mm.h and iommu.h
- deleted makefiles
- put rename under a different patch

Jacob Pan (5):
iommu/vt-d: Remove virtual command interface
iommu/sva: Move PASID helpers to sva code
iommu/sva: Remove PASID to mm lookup function
iommu/sva: Use GFP_KERNEL for pasid allocation
iommu/ioasid: Rename INVALID_IOASID

Jason Gunthorpe (2):
iommu/sva: Stop using ioasid_set for SVA
iommu: Remove ioasid infrastructure

Documentation/x86/sva.rst | 2 +-
arch/x86/kernel/traps.c | 5 +-
drivers/dma/idxd/device.c | 8 +-
drivers/dma/idxd/idxd.h | 2 +-
drivers/dma/idxd/init.c | 2 +-
drivers/dma/idxd/irq.c | 2 +-
drivers/iommu/Kconfig | 5 -
drivers/iommu/Makefile | 1 -
drivers/iommu/intel/cap_audit.c | 2 -
drivers/iommu/intel/dmar.c | 6 +-
drivers/iommu/intel/iommu.c | 87 +------
drivers/iommu/intel/iommu.h | 3 -
drivers/iommu/intel/svm.c | 3 +-
drivers/iommu/ioasid.c | 422 --------------------------------
drivers/iommu/iommu-sva.c | 61 ++---
drivers/iommu/iommu-sva.h | 4 -
include/linux/ioasid.h | 83 -------
include/linux/iommu.h | 14 +-
include/linux/sched/mm.h | 26 --
kernel/fork.c | 5 +
mm/init-mm.c | 4 +-
21 files changed, 54 insertions(+), 693 deletions(-)
delete mode 100644 drivers/iommu/ioasid.c
delete mode 100644 include/linux/ioasid.h

--
2.25.1