[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] MSI-X interrupts to guests
[Kieran Mansley] > On Wed, 2009-04-15 at 17:30 +0100, Espen Skoglund wrote: >> The API is the same as used for mapping regular PIRQs (they just >> happen to be MSI-X vectors). In particular, xend will use the >> right API when mapping a PIRQ to the guest. > Changing the code to do as I think you describe gives a different > error: the call to PHYSDEVOP_map_pirq to map the GSI into the guest > fails as from reading the code (xen/arch/x86/physdev.c:58) it seems > to be expecting an IRQ number to be passed in when what we have is > an MSI-X vector, and it falls out of the range of IRQ numbers. The > frustrating part is that the code that handles PHYSDEVOP_map_pirq in > the hypervisor just turns the IRQ back into a vector. > For the record, this is what I'm doing now: > 1) Call pci_enable_msix() to set up the MSI-X tables and allocate a set > of vectors. This works fine. As I understand things this calls among > other things PHYSDEVOP_map_pirq to map it into dom0. > 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. > One point that is causing some confusion is the need to map the > MSI-X into dom0 and get a physical IRQ in the first place before > mapping it to the guest. Is this strictly necessary? It suggests > that, once it has also been mapped to the guest the interrupt may be > delivered to two different domains. Only if two different domains bind to the pirq. MSI-X vectors could in theory be shared between multiple domains. I have not attempted this, and don't know if it would work with the current code base. eSk _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |