[RFC PATCH 0/5] VFIO-NG group/device/iommu framework

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

 



Trying to move beyond talking about how VFIO should work to
re-writing the code.  This is pre-alpha, known broken, will
probably crash your system but it illustrates some of how
I see groups, devices, and iommus interacting.  This is just
the framework, no code to actually support user space drivers
or device assignment yet.

The iommu portions are still using the "FIXME" PCI specific
hooks.  Once Joerg gets some buy-in on his bus specific iommu
patches, we can move to that.

The group management is more complicated than I'd like and
you can get groups into a bad state by killing the test program
with devices/iommus open.  The locking is overly simplistic.
But, it's a start.  Please make constructive comments and
suggestions.  Patches based on v3.0.  Thanks,

Alex

---

Alex Williamson (5):
      VFIO: Simple test tool
      VFIO: Add PCI device support
      VFIO: Base framework for new VFIO driver
      intel-iommu: Implement iommu_device_group
      iommu: Add iommu_device_group callback and iommu_group sysfs entry


 drivers/Kconfig                |    2 
 drivers/Makefile               |    1 
 drivers/base/iommu.c           |   51 ++
 drivers/pci/intel-iommu.c      |   52 ++
 drivers/vfio/Kconfig           |   12 +
 drivers/vfio/Makefile          |    4 
 drivers/vfio/vfio_device.c     |  109 +++++
 drivers/vfio/vfio_iommu.c      |   81 ++++
 drivers/vfio/vfio_main.c       |  889 ++++++++++++++++++++++++++++++++++++++++
 drivers/vfio/vfio_pci.c        |  124 ++++++
 drivers/vfio/vfio_private.h    |   87 ++++
 include/linux/iommu.h          |    6 
 tools/testing/vfio/Makefile    |    4 
 tools/testing/vfio/vfio_test.c |  406 ++++++++++++++++++
 14 files changed, 1828 insertions(+), 0 deletions(-)
 create mode 100644 drivers/vfio/Kconfig
 create mode 100644 drivers/vfio/Makefile
 create mode 100644 drivers/vfio/vfio_device.c
 create mode 100644 drivers/vfio/vfio_iommu.c
 create mode 100644 drivers/vfio/vfio_main.c
 create mode 100644 drivers/vfio/vfio_pci.c
 create mode 100644 drivers/vfio/vfio_private.h
 create mode 100644 tools/testing/vfio/Makefile
 create mode 100644 tools/testing/vfio/vfio_test.c
--
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