[PATCH 0/16 v5] Device assignment improvement in userspace

Sheng Yang
2009-03-12T13:37:04Z

Patch 1 and 2 are new ones, all the others had been sent before.

This (huge) patchset, contained:

Patch 1..2 are new interface after reworked device assignment kernel part.

Patch 3..6 are generic capability support mechanism. These may can be adopted
by QEmu upstream as well.

Patch 7..10 enable MSI with device assignment on KVM. Also due to reworked
device assignment kernel part discard MSI convert to INTx mechanism, patch 10
enable it again in userspace.

Patch 11..13 enable MSI-X with device assignment on KVM.

And Patch 14..16 enable SR-IOV with KVM.

Update from latest series:

1. Convert to the new ioctl interface.
2. Merge capability configuration space with PCIDevice one.
3. Support of deassign IRQ(unload driver) with MSI/MSI-X better.
4. Not assume IRQ0 means no INTx any longer, but check interrupt pin field in
configuration space for the judgment.

Please help to review! Thanks!

--
libkvm/kvm-common.h | 1 +
libkvm/libkvm.c | 176 +++++++++++++--
libkvm/libkvm.h | 58 +++++-
qemu/Makefile.target | 1 +
qemu/configure | 20 ++
qemu/hw/device-assignment.c | 526 +++++++++++++++++++++++++++++++++++++++++--
qemu/hw/device-assignment.h | 17 ++
qemu/hw/pci.c | 77 ++++++-
qemu/hw/pci.h | 38 +++
9 files changed, 871 insertions(+), 43 deletions(-)