On Thu, 19 Feb 2009 17:15:49 +1100
Simon Horman <horms@xxxxxxxxxxxx> wrote:
> On Wed, Feb 18, 2009 at 12:12:27PM +0900, Yuji Shimada wrote:
> > On Tue, 17 Feb 2009 20:07:48 +1100
> > Simon Horman <horms@xxxxxxxxxxxx> 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)
>
> To be honest I am a little confused about what the above maping
> is supposed to achive.
Please find the attached figure which shows the interrupt routing in
xen hypervisor.
When we use only INTA, virtual GSIs are not shared.
But when we use INTB-INTD, virtual GSIs might be shared.
Thanks,
--
Yuji Shimada
interrupt_routing_in_hypervisor.png
Description: PNG image
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|