From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Turton Subject: Re: [PATCH 6/6] Add MSI support to XEN Date: Tue, 13 May 2008 10:57:29 +0100 Message-ID: <48296609.8060603@solarflare.com> References: <823A93EED437D048963A3697DB0E35DE014F156F@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: <823A93EED437D048963A3697DB0E35DE014F156F@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: xen-devel , Keir Fraser , "Jiang, Yunhong" List-Id: xen-devel@lists.xenproject.org I tried the latest unstable tree on a NIC which supports both MSI and MSI-X. When the driver was configured to use MSI mode, everything worked fine but when it was configured to use MSI-X, the call to pci_enable_msix succeeded but the interrupt didn't work. Have these patches been seen to work on an MSI-X device? In msix_capability_init (drivers/pci/msi-xen.c), there's a loop which unmaps the old pirqs. Shouldn't there be some similar code in msi_capability_init? I can't see any reason for the inconsistency between the two functions. Would it be possible to extend this code so that a PV backend driver could map different MSI-X entries on a PCI device into different guests? We already have frontend/backend drivers which allow multiple guests to securely access the PCI memory of a single NIC and would like to extend those drivers to map MSI-X interrupts directly to guests. I still don't understand enough about the new hypercalls to see how that would work. Cheers, Neil.