[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
- [Qemu-devel] [RFC v2 0/4] adding mdev bus and vfio support,
Jike Song <=
- [Qemu-devel] [RFC v2 2/4] vfio: VFIO bus driver for MDEV devices, Jike Song, 2016/09/02
- [Qemu-devel] [RFC v2 1/4] Mediated device Core driver, Jike Song, 2016/09/02
- [Qemu-devel] [RFC v2 3/4] vfio iommu: Add support for mediated devices, Jike Song, 2016/09/02
- [Qemu-devel] [RFC v2 4/4] docs: Add Documentation for Mediated devices, Jike Song, 2016/09/02
- Re: [Qemu-devel] [RFC v2 0/4] adding mdev bus and vfio support, Alex Williamson, 2016/09/02