[libvirt-users] PCI passthrough troubles

mike allison wmallison at gmail.com
Sat Jul 14 18:09:47 UTC 2012


Hello,

I have been struggling as of late to successfully configure a pci
passthrough using libvirt with kvm. Hoping someone can shed some light on
the problem. Overall my experience with virtualization limited is so please
forgive. The guest runs fine till passthrough is configured. I am using
virt-manager. This has been tried on both a Fedora17 x86_64 and Arch Linux
x86_64 build with pretty much identical errors.

I have carefully reviewed my hardware and purchased vt-d enabled parts
where needed. vt-d is enabled for my chipset, cpu and in it's enabled in
the bios.
on both systems I complied a custom kernel to enable DMA Remapping,
PCI-stub and set CONFIG_INTEL_IOMMU_DEFAULT_ON=y
using kernel boot param: intel_iommu=on (not sure if overkill)
have kvm module option allow_unsafe_assigned_interrupts=1
selinux set to permissive mode in fedora. not used in arch

when launching I 1) modprobe pci_stub, 2) virsh nodedev-dettach pci device,
3) load guest using virtmanager... it get the following

the log outputs
*
libvirt error window*

> Error starting domain: Unable to read from monitor: Connection reset by
> peer
>
> Traceback (most recent call last):
>   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 45, in
> cb_wrapper
>     callback(asyncjob, *args, **kwargs)
>   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 66, in tmpcb
>     callback(*args, **kwargs)
>   File "/usr/share/virt-manager/virtManager/domain.py", line 1114, in
> startup
>     self._backend.create()
>   File "/usr/lib/python2.7/site-packages/libvirt.py", line 620, in create
>     if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
> libvirtError: Unable to read from monitor: Connection reset by peer
>



*/var/log/libvirt/qemu/AED-VM.log*

> char device redirected to /dev/pts/3
> Failed to assign irq for "hostdev0": Input/output error
> Perhaps you are assigning a device that shares an IRQ with another device?
>


*/var/log/libvirt/libvirtd.log*

> 2012-07-08 22:45:11.403+0000: 3773: warning : ebiptablesDriverInit:4157 :
> Could not find 'ebtables' executable
> 2012-07-08 22:45:11.442+0000: 3773: error : virSysinfoRead:767 : internal
> error Failed to find path for dmidecode binary
> 2012-07-08 22:45:17.710+0000: 3764: error :
> virConnectNumOfInterfaces:10466 : this function is not supported by the
> connection driver: virConnectNumOfInterfaces
> 2012-07-08 22:46:13.494+0000: 3764: warning : qemuDomainObjTaint:1371 :
> Domain id=1 name='AED-VM' uuid=8f2892d8-df3c-6e75-0fe5-42c1ecd7835d is
> tainted: high-privileges
> 2012-07-08 22:46:13.725+0000: 3762: error : qemuMonitorIORead:526 : Unable
> to read from monitor: Connection reset by peer
> 2012-07-08 22:46:13.725+0000: 3762: error : qemuMonitorIO:582 : internal
> error event from unexpected fd -1!=21 / watch 9!=9
> 2012-07-08 22:48:51.281+0000: 4097: info : libvirt version: 0.9.13
>

*
dmesg*

> [  158.017387] virbr0: port 1(vnet0) entered forwarding state
> [  158.017395] virbr0: port 1(vnet0) entered forwarding state
> [  158.017615] ADDRCONF(NETDEV_CHANGE): virbr0: link becomes ready
> [  158.476879] assign device 0:3:2.0
> [  158.477080] deassign device 0:3:2.0
> [  158.719521] virbr0: port 1(vnet0) entered disabled state
> [  158.719673] device vnet0 left promiscuous mode
>


any help would be greatly appreciated.

mike allison
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20120714/4f92f4f8/attachment.htm>


More information about the libvirt-users mailing list