On Thu, 2012-08-16 at 15:54 +0200, Jan Kiszka wrote: > With this series, we are getting very close to obsoleting qemu-kvm. It > refactors hw/device-assignment.c and the associated KVM helper functions > into a form that should allow merging them into QEMU. Once the series is > acceptable for qemu-kvm, I will break out the necessary uq/master > patches and push pci-assign to upstream. > > The major step of this series is to define a regular set of kvm_device_* > services that encapsulate classic (i.e. KVM-based, non-VFIO) device > assignment features and export them to i386 targets only. There will > never be another arch using them, therefore I pushed them into this > corner. Moreover, the device assignment device now makes use of the new > KVM IRQ/MSI routing API and no longer pokes into the internals of that > layer. Finally, I moved the code into hw/kvm/pci-assign.c, dropped the > superfluous configure option and did some basic code cleanups (mostly > coding style) to bring things in shape. > > Note that patch 1 is a simple bug fix that should likely be applied for > qemu-kvm-1.2 independently. > > This series depends on [1] and [2] and QEMU upstream (2b97f88c92) being > merged into qemu-kvm. > > Please review. > > [1] http://thread.gmane.org/gmane.comp.emulators.kvm.devel/95528 > [2] http://thread.gmane.org/gmane.comp.emulators.kvm.devel/95522 > > Jan Kiszka (19): > pci-assign: Only clean up registered IO resources > pci-assign: Factor out kvm_device_pci_assign/deassign > pci-assign: Rename assign_irq to assign_intx > pci-assign: Refactor interrupt deassignment > pci-assign: Factor out kvm_device_intx_assign > qemu-kvm: Move kvm_device_intx_set_mask service > pci-assign: Rework MSI assignment > pci-assign: Factor out kvm_device_msix_supported > pci-assign: Replace kvm_assign_set_msix_nr with > kvm_device_msix_init_vectors > pci-assign: Replace kvm_assign_set_msix_entry with > kvm_device_msix_set_vector > pci-assign: Rework MSI-X route setup > pci-assign: Factor out kvm_device_msix_assign > qemu-kvm: Kill qemu-kvm.[ch] > pci-assign: Drop configure switches > pci-assign: Move and rename source file > pci-assign: Fix coding style issues > pci-assign: Replace exit() with hw_error() > pci-assign: Drop unused or write-only variables > pci-assign: Gracefully handle missing in-kernel irqchip support > > configure | 11 - > hw/i386/Makefile.objs | 3 - > hw/kvm/Makefile.objs | 2 +- > hw/{device-assignment.c => kvm/pci-assign.c} | 502 +++++++++++++------------- > kvm-all.c | 54 +++- > kvm-stub.c | 9 - > kvm.h | 12 +- > qemu-kvm.c | 233 ------------ > qemu-kvm.h | 112 ------ > target-i386/kvm.c | 142 ++++++++ > target-i386/kvm_i386.h | 22 ++ > 11 files changed, 461 insertions(+), 641 deletions(-) > rename hw/{device-assignment.c => kvm/pci-assign.c} (84%) > delete mode 100644 qemu-kvm.c > delete mode 100644 qemu-kvm.h Really nice overall Acked-by: Alex Williamson <alex.williamson@xxxxxxxxxx> -- 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