This series adds Mediated device support to v4.6 Linux host kernel. Purpose
of this series is to provide a common interface for mediated device
management that can be used by different devices. This series introduces
Mdev core module that create and manage mediated devices, VFIO based driver
for mediated PCI devices that are created by Mdev core module and update
VFIO type1 IOMMU module to support mediated devices.

What's new in v5?
- Improved mdev_put_device() and mdev_get_device() for mediated devices and
  locking for per mdev_device registration callbacks.

What's left to do?
- Issues with mmap region fault handler, EPT is not correctly populated with the
  information provided by remap_pfn_range() inside fault handler.

- mmap invalidation mechanism will be added once above issue gets resolved.

Tested:
- Single vGPU VM
- Multiple vGPU VMs on same GPU


Thanks,
Kirti


Kirti Wankhede (3):
  Mediated device Core driver
  VFIO driver for mediated PCI device
  VFIO Type1 IOMMU: Add support for mediated devices

 drivers/vfio/Kconfig                |   1 +
 drivers/vfio/Makefile               |   1 +
 drivers/vfio/mdev/Kconfig           |  18 +
 drivers/vfio/mdev/Makefile          |   6 +
 drivers/vfio/mdev/mdev_core.c       | 595 ++++++++++++++++++++++++++++++++
 drivers/vfio/mdev/mdev_driver.c     | 138 ++++++++
 drivers/vfio/mdev/mdev_private.h    |  33 ++
 drivers/vfio/mdev/mdev_sysfs.c      | 300 +++++++++++++++++
 drivers/vfio/mdev/vfio_mpci.c       | 654 ++++++++++++++++++++++++++++++++++++
 drivers/vfio/pci/vfio_pci_private.h |   6 -
 drivers/vfio/pci/vfio_pci_rdwr.c    |   1 +
 drivers/vfio/vfio_iommu_type1.c     | 444 ++++++++++++++++++++++--
 include/linux/mdev.h                | 232 +++++++++++++
 include/linux/vfio.h                |  13 +
 14 files changed, 2404 insertions(+), 38 deletions(-)
 create mode 100644 drivers/vfio/mdev/Kconfig
 create mode 100644 drivers/vfio/mdev/Makefile
 create mode 100644 drivers/vfio/mdev/mdev_core.c
 create mode 100644 drivers/vfio/mdev/mdev_driver.c
 create mode 100644 drivers/vfio/mdev/mdev_private.h
 create mode 100644 drivers/vfio/mdev/mdev_sysfs.c
 create mode 100644 drivers/vfio/mdev/vfio_mpci.c
 create mode 100644 include/linux/mdev.h

-- 
2.7.0


Reply via email to