
Hello list! I'm new here and interested in hot-plug multi-function PCI devices. Basically I'd like to know why Libvirt does not support it. I've been through the archives and basically found this thread: https://www.redhat.com/archives/libvir-list/2011-May/msg00457.html But Qemu seems to handle it accordingly: virsh qemu-monitor-command --hmp fedora-23 'device_add vfio-pci,host=00:16.0,addr=08.0' virsh qemu-monitor-command --hmp fedora-23 'device_add vfio-pci,host=00:16.3,addr=08.3' GUEST: # lspci (snip) 00:08.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04) 00:08.3 Serial controller: Intel Corporation 8 Series HECI KT (rev 04) However, using Libvirt: % virsh attach-device fedora-23 pci_0000_00_16_0.xml --live Device attached successfully % virsh attach-device fedora-23 pci_0000_00_16_3.xml --live error: Failed to attach device from pci_0000_00_16_3.xml error: internal error: Only PCI device addresses with function=0 are supported I made some changes on domain_addr.c[1] for testing and it worked. [1]https://gist.github.com/jrziviani/1da184c7fd0b413e0426 % virsh attach-device fedora-23 pci_0000_00_16_3.xml --live Device attached successfully GUEST: # lspci (snip) 00:08.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04) 00:08.3 Serial controller: Intel Corporation 8 Series HECI KT (rev 04) So there is more to it that I'm not aware? Thank you!