[vfio-users] PCI passthrough prevents autostart of guest

Pittman, Randall Randall.Pittman at oregonstate.edu
Mon Apr 4 16:11:29 UTC 2016


I did not have success with adding the modules-load=vfio-pci arguments to the kernel line. Finally I tried a cron script that waits for 20 seconds after boot and then starts the guest. So autostart still isn’t working, but I have a workaround.

Thanks again,
Randy

Randall Pittman
Faculty Research Assistant | School of Civil and Construction Engineering | Oregon State University
Location: 006 Covell Hall | Mailing: 101 Kearney Hall | Corvallis, OR 97331-2132
Office: 541-737-2102 | Mobile: 541-286-7896

From: Colin Godsey [mailto:crgodsey at gmail.com]
Sent: Thursday, March 31, 2016 2:19 PM
To: Pittman, Randall; vfio-users at redhat.com
Subject: Re: [vfio-users] PCI passthrough prevents autostart of guest

You might have to try and early load the vfio module to head off any other drivers that may try to acquire the device. You should be able to do this with the rd.modules-load,modules-load kernel arguments.

http://www.dsm.fordham.edu/cgi-bin/man-cgi.pl?topic=systemd-modules-load.service&ampsect=8

On Thu, Mar 31, 2016 at 2:55 PM Pittman, Randall <Randall.Pittman at oregonstate.edu<mailto:Randall.Pittman at oregonstate.edu>> wrote:
Hi,

I have a custom PCI data acquisition card for which I only have Windows XP drivers, so I’m running WinXP in a QEMU-KVM VM under CentOS 7. I have PCI passthrough working fine. (I added the PCI card to the VM with virt-manager) However, the VM will not autostart on boot of the host machine. I have the following output in /var/log/libvirt/qemu/win_xp.log:
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


Again, this only happens at boot when the VM should be auto-starting. I can start it just fine manually with virsh or virt-manager. Perhaps the issue has to do with libvirtd starting too soon? N.b. I’m new to messing with init systems in general, systemd in particular.

Any help would be greatly appreciated. I haven’t had any responses from the libvirt-users list, the CentOS forums, or my local university Linux mailing list.

Thanks,
Randy

Extended info:

•         win_xp.xml file: http://pastebin.com/uBSbGDu6

•         Software versions from yum:

o   CentOS - 7.2.1511

o   libvirt - 1.2.17-13.el7_2.3

o   qemu - 2:2.0.0-1.el7.6

o   qemu-kvm - 10:1.5.3-105.el7_2.3

•         Hardware:

o   CPU: Xeon E3-1231 v3, intel_iommu=on set in grub2

o   lspci entry for the custom PCI card:
05:00.0 Unassigned class [ff00]: PLX Technology, Inc. PCI9054 32-bit 33MHz PCI <-> IOBus Bridge (rev 0b)


Randall Pittman
Faculty Research Assistant | School of Civil and Construction Engineering | Oregon State University
Location: 006 Covell Hall | Mailing: 101 Kearney Hall | Corvallis, OR 97331-2132
Office: 541-737-2102 | Mobile: 541-286-7896

_______________________________________________
vfio-users mailing list
vfio-users at redhat.com<mailto:vfio-users at redhat.com>
https://www.redhat.com/mailman/listinfo/vfio-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160404/8a9ec1fb/attachment.htm>


More information about the vfio-users mailing list