KVM problems with Vt-d and wireless adapter
I'm exploring the use of Vt-d with KVM. I'm running the following setup
Processor: Intel Core2 Duo P8600 KVM version: 88-r1 Host : Gentoo 32 bit, 2.6.30-r4 Architecture: i386 Guest VM: CentOS 5.3, 32 bit, 2.6.18-128 kernel Command: kvm -hda vdisk.img -boot c -m 384 -net nic -net user -pcidevice host=03:00.0
I'm trying to pass through to the VM, the Intel 5100 wireless adapter. I have ensured that
a) the BIOS has Vt-d enabled
b) the Gentoo kernel was compiled with IOMMU features enabled
c) the driver module for the iwlagn is blacklisted on the host
and d) I run a script to unbind the device and bind it into pci-stub based on the HOWTO assign device with Vt-d in KVM
If I run the above command, I get 2 sets of error messages
assign_irq: deassign: Invalid argumentassign_irq: deassign: Invalid argumentassign_irq: deassign: Invalid argumentassigned_dev_update_msi: deassign irq: Invalid argumentassigned_dev_update_msi: deassign irq: Invalid argumentassigned_dev_update_msi: deassign irq: Invalid argumentassigned_dev_update_msi: deassign irq: Invalid argumentassigned_dev_update_msi: deassign irq: Invalid argument
If I add the -no-kvm-irqchip switch, then the assign_irq: deassign: Invalid argument messages go away. On the guest I get messages from the iwlagn module that it attempted to write the nicrocode to the device. Each time it fails, and it just happens to try 5 times. On the host, depending on options I get errors like:
irq 17: nobody cared (try booting with the irqpoll option) <-- tried this but nothing changed followed by a call trace
then a message that it is disabling IRQ 17
Any thoughts as to what I'm missing? More information needed?
---Michael J Coss