From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Turton Subject: Re: [PATCH 0/5] Add MSI support to XEN Date: Wed, 02 Apr 2008 15:55:50 +0100 Message-ID: <47F39E76.8020805@solarflare.com> References: <823A93EED437D048963A3697DB0E35DE0139CE15@pdsmsx414.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <823A93EED437D048963A3697DB0E35DE0139CE15@pdsmsx414.ccr.corp.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Shan, Haitao" Cc: Keir Fraser , xen-devel , "Li, Xin B" , "Tian, Kevin" , "Jiang, Yunhong" List-Id: xen-devel@lists.xenproject.org I tried this patch and MSI seems to work fine with a driver in DOM0. It didn't work with MSI-X though because pci_vector_resources returned 8 and I have 10 MSI capable devices in the machine. I've only got 6 Phys-irq interrupts listed in /proc/interrupts so I'd expect there to be more vectors free. I applied the debugging patch below and got the following output. diff -r 9bb373519b68 arch/i386/pci/irq-xen.c --- a/arch/i386/pci/irq-xen.c Tue Apr 01 14:15:23 2008 +0100 +++ b/arch/i386/pci/irq-xen.c Wed Apr 02 13:19:05 2008 +0100 @@ -1192,6 +1192,7 @@ int pci_vector_resources(int last, int n int offset = (last % 8); while (next < FIRST_SYSTEM_VECTOR) { + printk("next=%d count=%d\n", next, count); next += 8; #ifdef CONFIG_X86_64 if (next == IA32_SYSCALL_VECTOR) [pci_vector_resources(176, 1) called] next=176 count=1 next=184 count=2 next=192 count=3 next=200 count=4 next=208 count=5 next=216 count=6 next=224 count=7 next=232 count=8 [pci_vector_resources returned 8]