Hello,<div><br></div><div>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.<br>
</div>

<div><br></div><div>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.<br></div><div>on both systems I complied a custom kernel to enable DMA Remapping, PCI-stub and set CONFIG_INTEL_IOMMU_DEFAULT_ON=y</div>


<div>using kernel boot param: intel_iommu=on (not sure if overkill)</div><div>have kvm module option allow_unsafe_assigned_interrupts=1</div><div>selinux set to permissive mode in fedora. not used in arch<br></div><br>when launching I 1) modprobe pci_stub, 2) virsh nodedev-dettach pci 
device, 3) load guest using virtmanager... it get the following <br><br>the log outputs <br><i><br>libvirt error window</i><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">
Error starting domain: Unable to read from monitor: Connection reset by peer<br><br>Traceback (most recent call last):<br>  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 45, in cb_wrapper<br>    callback(asyncjob, *args, **kwargs)<br>
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 66, in tmpcb<br>    callback(*args, **kwargs)<br>  File "/usr/share/virt-manager/virtManager/domain.py", line 1114, in startup<br>    self._backend.create()<br>
  File "/usr/lib/python2.7/site-packages/libvirt.py", line 620, in create<br>    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)<br>libvirtError: Unable to read from monitor: Connection reset by peer<br>
</blockquote><br><br><br><i>/var/log/libvirt/qemu/AED-VM.log</i><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">char device redirected to /dev/pts/3<br>
Failed to assign irq for "hostdev0": Input/output error<br>Perhaps you are assigning a device that shares an IRQ with another device?<br></blockquote><br><br><i>/var/log/libvirt/libvirtd.log</i><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">
2012-07-08 22:45:11.403+0000: 3773: warning : ebiptablesDriverInit:4157 : Could not find 'ebtables' executable<br>2012-07-08 22:45:11.442+0000: 3773: error : virSysinfoRead:767 : internal error Failed to find path for dmidecode binary<br>
2012-07-08 22:45:17.710+0000: 3764: error : virConnectNumOfInterfaces:10466 : this function is not supported by the connection driver: virConnectNumOfInterfaces<br>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<br>
2012-07-08 22:46:13.725+0000: 3762: error : qemuMonitorIORead:526 : Unable to read from monitor: Connection reset by peer<br>2012-07-08 22:46:13.725+0000: 3762: error : qemuMonitorIO:582 : internal error event from unexpected fd -1!=21 / watch 9!=9<br>
2012-07-08 22:48:51.281+0000: 4097: info : libvirt version: 0.9.13<br></blockquote><br><i><br>dmesg</i><br><blockquote style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex" class="gmail_quote">
[  158.017387] virbr0: port 1(vnet0) entered forwarding state<br>[  158.017395] virbr0: port 1(vnet0) entered forwarding state<br>[  158.017615] ADDRCONF(NETDEV_CHANGE): virbr0: link becomes ready<br>[  158.476879] assign device 0:3:2.0<br>
[  158.477080] deassign device 0:3:2.0<br>[  158.719521] virbr0: port 1(vnet0) entered disabled state<br>[  158.719673] device vnet0 left promiscuous mode<br></blockquote><br><br>any help would be greatly appreciated. <br>
<br>mike allison<br><br><br>