|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] MSI-X interrupts to guests
Do you also map the vector to domU before requesting it? You should
be able to map it as a GSI. You'll also need c/s 791 or newer for the
domU kernel.
eSk
[Kieran Mansley]
> Some recent changes from Espen Skoglund
> http://markmail.org/thread/76szuiywgd5dn2x4 suggest that it should now
> be possible to map an MSI-X interrupt direct to a guest. However, when
> trying to do this, I get errors, and before I delve too deep I wondered
> if there was something obvious I'm doing wrong.
> My approach is that dom0 does something like this:
> struct physdev_map_pirq map_irq;
> map_irq.domid = guest_domid;
> map_irq.type = MAP_PIRQ_TYPE_MSI;
> map_irq.index = -1;
> map_irq.pirq = -1;
> map_irq.bus = pci_dev->bus->number;
> map_irq.devfn = pci_dev->devfn;
> map_irq.entry_nr = msix_entry;
> map_irq.table_base = msix_table;
> rc = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq);
> This call succeeds. dom0 then tells the guest the value of map_irq.pirq
> (which seems to have a sensible value given the other interrupts mapped
> to that domain) that it gets back from this hypercall, and the guest
> tries to call request_irq() using that value. The call to request_irq()
> returns -38 (ENOSYS).
> Any ideas what the problem could be? I'm happy to investigate.
> Kieran
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxxxxxxxx
> http://lists.xensource.com/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|