This patchset is based on NVidia's "Add Mediated device support" series, version 6: http://www.spinics.net/lists/kvm/msg136472.html Key Changes from Nvidia v6: - Introduced an independent struct device to host device, thereby formed a physical-host-mdev hierarchy, and highly reused Linux driver core support; - Added online/offline to mdev_bus_type, leveraging the 'online' attr support from Linux driver core; - Removed mdev_class and other unecessary stuff; /* * Given the changes above, the code volume of mdev core driver * dramatically reduced by ~50%. */ - Interfaces between vfio_mdev and vendor driver are high-level, e.g. ioctl instead of get_irq_info/set_irq_info and reset, start/stop became mdev oriented, etc.; /* * Given the changes above, the code volume of mdev core driver * dramatically reduced by ~64%. */ Test - Tested with KVMGT TODO - Re-implement the attribute group of host device as long as the sysfs hierarchy in discussion gets finalized; - Move common routines from current vfio-pci into a higher location, export them for various VFIO bus drivers and/or mdev vendor drivers; - Add implementation examples for vendor drivers to Documentation; - Refine IOMMU changes Jike Song (2): Mediated device Core driver vfio: VFIO bus driver for MDEV devices Kirti Wankhede (2): vfio iommu: Add support for mediated devices docs: Add Documentation for Mediated devices Documentation/vfio-mediated-device.txt | 203 ++++++++++++++ drivers/vfio/Kconfig | 1 + drivers/vfio/Makefile | 1 + drivers/vfio/mdev/Kconfig | 18 ++ drivers/vfio/mdev/Makefile | 5 + drivers/vfio/mdev/mdev_core.c | 250 +++++++++++++++++ drivers/vfio/mdev/mdev_driver.c | 155 ++++++++++ drivers/vfio/mdev/mdev_private.h | 29 ++ drivers/vfio/mdev/mdev_sysfs.c | 155 ++++++++++ drivers/vfio/mdev/vfio_mdev.c | 187 ++++++++++++ drivers/vfio/vfio.c | 82 ++++++ drivers/vfio/vfio_iommu_type1.c | 499 +++++++++++++++++++++++++++++---- include/linux/mdev.h | 159 +++++++++++ include/linux/vfio.h | 13 +- 14 files changed, 1709 insertions(+), 48 deletions(-) create mode 100644 Documentation/vfio-mediated-device.txt 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_mdev.c create mode 100644 include/linux/mdev.h -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html