Hey Mike, did you ever have any success figuring out this issue? I am having the same problem (on CentOS 7) with a custom data acquisition PCI card. It seems like the solution might have something to do with delaying the start of libvirtd
in systemd until the PCI card (or vfio?) is ready, but I don’t know how to do that. Can anyone else offer assistance?
My output:
2016-03-29T18:29:26.191010Z qemu-kvm: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x7: vfio: Error: Failed to setup INTx fd: Device or resource
busy
2016-03-29T18:29:26.289154Z qemu-kvm: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x7: Device initialization failed.
2016-03-29T18:29:26.289195Z qemu-kvm: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x7: Device 'vfio-pci' could not be initialized
2016-03-29 18:29:26.337+0000: shutting down
Thanks,
Randy
<--Original Message-->
Hey all,
I'm getting an error starting a libvirt managed qemu/kvm VM at physical host
boot time, but manually starting it afterwards works fine. This is on a Ubuntu
Wily i7-4790 box running Linux 4.2 and libvirt 1.2.16. There is a legacy (5V)
PCI card being passed through to the VM, the error seems to relate to that.
The error that always appears at boot in `/var/log/libvirt/qemu/test-vm.log`
is:
2016-01-11T05:29:28.487935Z qemu-system-x86_64: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x4:
vfio: Error: Failed to setup INTx fd: Device or resource busy 2016-01-11T05:29:28.488148Z
qemu-system-x86_64: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x4:
Device initialization failed 2016-01-11T05:29:28.488169Z
qemu-system-x86_64: -device vfio-pci,host=05:00.0,id=hostdev0,bus=pci.0,addr=0x4:
Device 'vfio-pci' could not be initialized
After the physical machine has completed booting, starting the VM via virsh
or virt-manager works fine.
The card is an old Firewire card. I have blacklisted the firewire modules
on the physical machine so they aren't loaded, but is it possible that the kernel,
udev or some other process still has access to the device when systemd starts
the libvirt-bin service?
Any clues greatly appreciated.
Thanks,
//Mike
--
⊨ Michael Gratton, Percept Wrangler.
⚙ <http://mjog.vee.net/>