The series implements the PCI multifunction hotplug functionality. The first two patch reverts the old commits which forbade the multifunction addresses. Patch2 is added because the two reverts necessiates additional checks added in Patch3. Actual implementation starts patch 4 onwards. The semantics is to encapsulate all the functions in <devices/> tag as was previously explained. (http://www.spinics.net/linux/fedora/libvir/msg127921.html) The series aims to support virtio devices and also the hostdevices in the <devices>. Auto-address assignment is implemented here works well for ppc64 and pc-i440fx machines. Couldn't get it working on q35 machines. May be follow up patches for that. TODO: 1) Rollback the Hotplug of already hoplugged functions if any of the function hotplug fails. 2) Hardening the hotplug checks to disallow multifunction cards hotplug as though they are single function cards. 3) Documentation update. 4) Patch 6 may need some work across drivers to add similar checks as added in qemu_driver.c 5) Test cases. --- Shivaprasad G Bhat (7): Revert "prevent hot unplugging multi function PCI device" Release address in function granularity than slot Validate address in virDomainPCIAddressReleaseAddr Introduce PCI Multifunction device parser Introduce virDomainPCIMultifunctionDeviceAddressAssign Allow calling virHostdevPreparePCIDevices twice for same device Enable PCI Multifunction hotplug/unplug src/conf/domain_addr.c | 244 ++++++++++++++++++++++++++++- src/conf/domain_addr.h | 4 src/conf/domain_conf.c | 227 +++++++++++++++++++++++++++ src/conf/domain_conf.h | 22 +++ src/libvirt_private.syms | 5 + src/qemu/qemu_domain_address.c | 2 src/qemu/qemu_driver.c | 331 ++++++++++++++++++++++++++++++++-------- src/qemu/qemu_hotplug.c | 74 ++------- src/util/virhostdev.c | 16 ++ 9 files changed, 781 insertions(+), 144 deletions(-) -- Signature -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list