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