[PATCH 0/6] iommu/s390: add support for IOMMU passthrough

Matthew Rosato posted 6 patches 2 weeks, 3 days ago
There is a newer version of this series
arch/s390/Kconfig                  |  1 +
arch/s390/include/asm/device.h     | 12 ++++++
arch/s390/include/asm/dma-direct.h | 14 +++++++
arch/s390/include/asm/pci.h        |  2 +-
arch/s390/include/asm/pci_clp.h    |  4 +-
arch/s390/pci/pci.c                |  6 ++-
arch/s390/pci/pci_bus.c            |  2 +
arch/s390/pci/pci_clp.c            |  1 +
drivers/iommu/iommu.c              |  5 +++
drivers/iommu/s390-iommu.c         | 65 ++++++++++++++++++++++++++++--
include/linux/iommu.h              |  2 +
11 files changed, 107 insertions(+), 7 deletions(-)
create mode 100644 arch/s390/include/asm/device.h
create mode 100644 arch/s390/include/asm/dma-direct.h
[PATCH 0/6] iommu/s390: add support for IOMMU passthrough
Posted by Matthew Rosato 2 weeks, 3 days ago
This series introduces the ability for certain devices on s390 to bypass
a layer of IOMMU via the iommu.passthrough=1 option.  In order to enable
this, the concept of an identity domain is added to s390-iommu.  On s390,
IOMMU passthrough is only allowed if indicated via a special bit in s390
CLP data for the associated device group, otherwise we must fall back to
dma-iommu.

Matthew Rosato (6):
  s390/pci: check for relaxed translation capability
  s390: enable ARCH_HAS_PHYS_TO_DMA
  iommu/s390: implement iommu passthrough via identity domain
  iommu: add routine to check strict setting
  iommu: document missing def_domain_type return
  iommu/s390: implement def_domain_type

 arch/s390/Kconfig                  |  1 +
 arch/s390/include/asm/device.h     | 12 ++++++
 arch/s390/include/asm/dma-direct.h | 14 +++++++
 arch/s390/include/asm/pci.h        |  2 +-
 arch/s390/include/asm/pci_clp.h    |  4 +-
 arch/s390/pci/pci.c                |  6 ++-
 arch/s390/pci/pci_bus.c            |  2 +
 arch/s390/pci/pci_clp.c            |  1 +
 drivers/iommu/iommu.c              |  5 +++
 drivers/iommu/s390-iommu.c         | 65 ++++++++++++++++++++++++++++--
 include/linux/iommu.h              |  2 +
 11 files changed, 107 insertions(+), 7 deletions(-)
 create mode 100644 arch/s390/include/asm/device.h
 create mode 100644 arch/s390/include/asm/dma-direct.h

-- 
2.47.0