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!