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

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

 



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



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux