From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yuji Shimada Subject: Re: [rfc 00/18] ioemu: use devfn instead of slots as the unit for passthrough Date: Wed, 18 Feb 2009 12:12:27 +0900 Message-ID: <20090218120924.1C7B.27C06F64@necst.nec.co.jp> References: <20090217090748.580007796@vergenet.net> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20090217090748.580007796@vergenet.net> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Simon Horman Cc: xen-devel@lists.xensource.com, Ian Jackson List-Id: xen-devel@lists.xenproject.org On Tue, 17 Feb 2009 20:07:48 +1100 Simon Horman wrote: > This series starts of with servaral cleanup patches. > > The meat of the changes start with the patch > "ioemu: use devfn instead of slots as the unit for passthrough" > > This allows multi-function cards to be appear in guets as > multi-function cards, with the restriction that function 0 must > be passed through. Otherwise each function is allocated its own > slot, as before. How do you guarantee that virtual gsi is not shared between pass-throughed devices? Xen hypervisor does not support sharing virtual gsi between pass-throughed devices. The function 0 always uses INTA. The function 1-7 might use INTB-INTD. INTB-INTD will route to the same virtual gsi with other device's INTA-INTD. Current interrupt routing in xen hypervisor is defined as follows. xen/include/asm-x86/hvm/irq.h #define hvm_pci_intx_gsi(dev, intx) \ (((((dev)<<2) + ((dev)>>3) + (intx)) & 31) + 16) Thanks, -- Yuji Shimada