xen: use PHYSDEVOP_get_free_pirq to implement find_unbound_pirq
authorStefano Stabellini <stefano.stabellini@eu.citrix.com>
Wed, 1 Dec 2010 14:51:44 +0000 (14:51 +0000)
committerStefano Stabellini <stefano.stabellini@eu.citrix.com>
Thu, 2 Dec 2010 14:28:22 +0000 (14:28 +0000)
commite5fc7345412d5e4758fcef55a74354c5cbefd61e
tree00f8303544240826fb2dd2b97de5ff66596e7beb
parente8a7e48bb248a1196484d3f8afa53bded2b24e71
xen: use PHYSDEVOP_get_free_pirq to implement find_unbound_pirq

Use the new hypercall PHYSDEVOP_get_free_pirq to ask Xen to allocate a
pirq. Remove the unsupported PHYSDEVOP_get_nr_pirqs hypercall to get the
amount of pirq available.

This fixes find_unbound_pirq that otherwise would return a number
starting from nr_irqs that might very well be out of range in Xen.

The symptom of this bug is that when you passthrough an MSI capable pci
device to a PV on HVM guest, Linux would fail to enable MSIs on the
device.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
drivers/xen/events.c
include/xen/interface/physdev.h