qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC PATCH 0/5] VFIO-NG group/device/iommu framework
@ 2011-09-01 19:50 Alex Williamson
  2011-09-01 19:50 ` [Qemu-devel] [RFC PATCH 1/5] iommu: Add iommu_device_group callback and iommu_group sysfs entry Alex Williamson
                   ` (5 more replies)
  0 siblings, 6 replies; 13+ messages in thread
From: Alex Williamson @ 2011-09-01 19:50 UTC (permalink / raw)
  To: chrisw, aik, pmac, dwg, joerg.roedel, agraf, benve, aafabbri,
	B08248, B07421, avi, kvm, qemu-devel, iommu, linux-pci
  Cc: alex.williamson

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

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2011-09-19 16:43 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-01 19:50 [Qemu-devel] [RFC PATCH 0/5] VFIO-NG group/device/iommu framework Alex Williamson
2011-09-01 19:50 ` [Qemu-devel] [RFC PATCH 1/5] iommu: Add iommu_device_group callback and iommu_group sysfs entry Alex Williamson
2011-09-01 19:50 ` [Qemu-devel] [RFC PATCH 2/5] intel-iommu: Implement iommu_device_group Alex Williamson
2011-09-01 19:50 ` [Qemu-devel] [RFC PATCH 3/5] VFIO: Base framework for new VFIO driver Alex Williamson
2011-09-07 14:52   ` Konrad Rzeszutek Wilk
2011-09-19 16:42     ` Alex Williamson
2011-09-01 19:50 ` [Qemu-devel] [RFC PATCH 4/5] VFIO: Add PCI device support Alex Williamson
2011-09-07 18:55   ` Konrad Rzeszutek Wilk
2011-09-08  7:52     ` Avi Kivity
2011-09-08 21:52       ` Alex Williamson
2011-09-01 19:50 ` [Qemu-devel] [RFC PATCH 5/5] VFIO: Simple test tool Alex Williamson
2011-09-07 11:58 ` [Qemu-devel] [RFC PATCH 0/5] VFIO-NG group/device/iommu framework Alexander Graf
2011-09-08 21:54   ` Alex Williamson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).