From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael J Coss Subject: KVM problems with Vt-d and wireless adapter Date: Wed, 12 Aug 2009 08:47:10 -0400 Message-ID: <4A82B9CE.9050309@alcatel-lucent.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit To: kvm@vger.kernel.org Return-path: Received: from ihemail1.lucent.com ([135.245.0.33]:45626 "EHLO ihemail1.lucent.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752149AbZHLNLI (ORCPT ); Wed, 12 Aug 2009 09:11:08 -0400 Received: from umail.lucent.com (h135-3-40-61.lucent.com [135.3.40.61]) by ihemail1.lucent.com (8.13.8/IER-o) with ESMTP id n7CClD8K020049 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 12 Aug 2009 07:47:13 -0500 (CDT) Received: from [135.244.226.14] (mjcoss.lra.lucent.com [135.244.226.14]) by umail.lucent.com (8.13.8/TPES) with ESMTP id n7CClBUU016352 for ; Wed, 12 Aug 2009 07:47:12 -0500 (CDT) Sender: kvm-owner@vger.kernel.org List-ID: 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 argument assign_irq: deassign: Invalid argument assign_irq: deassign: Invalid argument assigned_dev_update_msi: deassign irq: Invalid argument assigned_dev_update_msi: deassign irq: Invalid argument assigned_dev_update_msi: deassign irq: Invalid argument assigned_dev_update_msi: deassign irq: Invalid argument assigned_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