qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [RFC v2 0/4] adding mdev bus and vfio support


From: Jike Song
Subject: [Qemu-devel] [RFC v2 0/4] adding mdev bus and vfio support
Date: Fri, 2 Sep 2016 16:16:08 +0800

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]