[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] MSI-X interrupts to guests
Oh. I just noticed that you map the MSI directly to the guest. You should first map it into dom0 as an MSI (to set up the MSI-X descriptor) and then map it to domU as a GSI. eSk [Espen Skoglund] > 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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |