[PATCH v6 0/5] iommu aux-domain APIs extensions

From: Lu Baolu
Date: Fri Oct 30 2020 - 01:05:21 EST


Hi Joerg and Alex,

A description of purpose for this series could be found here.

https://lore.kernel.org/linux-iommu/20200901033422.22249-1-baolu.lu@xxxxxxxxxxxxxxx/

The previous version was posted here.

https://lore.kernel.org/linux-iommu/20200922061042.31633-1-baolu.lu@xxxxxxxxxxxxxxx/

This version is evolved according to Joerg's comments posted here.

https://lore.kernel.org/linux-iommu/20200924095532.GK27174@xxxxxxxxxx/

This basic idea is that IOMMU registers an iommu_ops for subdevice
bus (for example, the vfio/mdev bus), so that the upper layer device
passthrough framework could use the standard iommu-core code to setup
the IOMMU logistics.

This series was tested by Dave Jiang <dave.jiang@xxxxxxxxx> with his
idxd driver posted here. Very appreciated!

https://lore.kernel.org/lkml/160021250454.67751.3119489448651243709.stgit@xxxxxxxxxxxxxxxxxxxxxxxxxx/

Please help to review and comment.

Best regards,
baolu

Lu Baolu (5):
vfio/mdev: Register mdev bus earlier during boot
iommu: Use bus iommu ops for aux related callback
iommu/vt-d: Make some static functions global
iommu/vt-d: Add iommu_ops support for subdevice bus
vfio/type1: Use mdev bus iommu_ops for IOMMU callbacks

drivers/iommu/intel/Kconfig | 13 ++++
drivers/iommu/intel/Makefile | 1 +
drivers/iommu/intel/iommu.c | 79 +++++--------------
drivers/iommu/intel/siov.c | 119 ++++++++++++++++++++++++++++
drivers/iommu/iommu.c | 16 ++--
drivers/vfio/mdev/mdev_core.c | 22 +-----
drivers/vfio/mdev/mdev_driver.c | 6 ++
drivers/vfio/mdev/mdev_private.h | 1 -
drivers/vfio/vfio_iommu_type1.c | 128 +++----------------------------
include/linux/intel-iommu.h | 53 +++++++++++++
include/linux/mdev.h | 14 ----
11 files changed, 236 insertions(+), 216 deletions(-)
create mode 100644 drivers/iommu/intel/siov.c

--
2.25.1