This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] MSI-X interrupts to guests

On Thu, 2009-04-16 at 16:39 +0100, Espen Skoglund wrote:
> > 2a) Attempt to map this to the guest using PHYSDEVOP_map_pirq with
> > parameters:
> > map_irq.domid = guest_domid;
> > map_irq.type = MAP_PIRQ_TYPE_GSI;
> > map_irq.index = vector;
> > map_irq.pirq = -1;
> >  => gives an error in the hypervisor: 
> > (XEN) physdev.c:61: dom1: map invalid irq 510
> IRQ510?  This definitely sounds wrong.  This can't possibly be the
> "PIRQ" assigned to the MSI vector.

It's not - it's the vector itself.  Sadly the code in question (msi-
xen.c) seems to confuse the use of pirq and vector in the variable
names, so I'm not exactly sure how to describe it.  It's the returned
value from msi_map_vector() when called by pci_enable_msix() in dom0.

What is the magic step I'm missing to go from the vector that I get back
from pci_enable_msix() to the value for "PIRQ assigned to the MSI
vector" to give to PHYSDEVOP_map_pirq?



Xen-devel mailing list