[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



>>> Kieran Mansley <kmansley@xxxxxxxxxxxxxx> 15.04.09 17:43 >>>
>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);

But you don't do this yourself, you get this done for you, right?

>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.

What kernel version is it that's running in the guest? Sounds like some
preparatory step might be missing the particular kernel version you got.

Jan


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.