linux/include/xen
Stefano Stabellini af42b8d12f xen: fix MSI setup and teardown for PV on HVM guests
When remapping MSIs into pirqs for PV on HVM guests, qemu is responsible
for doing the actual mapping and unmapping.
We only give qemu the desired pirq number when we ask to do the mapping
the first time, after that we should be reading back the pirq number
from qemu every time we want to re-enable the MSI.

This fixes a bug in xen_hvm_setup_msi_irqs that manifests itself when
trying to enable the same MSI for the second time: the old MSI to pirq
mapping is still valid at this point but xen_hvm_setup_msi_irqs would
try to assign a new pirq anyway.
A simple way to reproduce this bug is to assign an MSI capable network
card to a PV on HVM guest, if the user brings down the corresponding
ethernet interface and up again, Linux would fail to enable MSIs on the
device.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
2010-12-02 14:34:25 +00:00
..
interface xen: use PHYSDEVOP_get_free_pirq to implement find_unbound_pirq 2010-12-02 14:28:22 +00:00
events.h xen: fix MSI setup and teardown for PV on HVM guests 2010-12-02 14:34:25 +00:00
evtchn.h xen: add /dev/xen/evtchn driver 2009-03-30 09:26:49 -07:00
features.h
grant_table.h xen: Xen PCI platform device driver. 2010-07-22 16:46:09 -07:00
hvc-console.h xen64: fix !HVC_XEN build dependency 2008-07-16 11:06:48 +02:00
hvm.h x86/xen: event channels delivery on HVM. 2010-07-22 16:45:59 -07:00
Kbuild xen: add privcmd driver 2010-10-20 16:22:29 -07:00
page.h xen: add extra pages to balloon 2010-11-19 22:15:59 -08:00
platform_pci.h xen: pvhvm: make it clearer that XEN_UNPLUG_* define bits in a bitfield 2010-08-23 12:01:35 +01:00
privcmd.h xen: fix header export to userspace 2010-11-16 10:57:05 -08:00
swiotlb-xen.h swiotlb-xen: SWIOTLB library for Xen PV guest with PCI passthrough. 2010-07-27 11:51:00 -04:00
xen-ops.h xen/privcmd: move remap_domain_mfn_range() to core xen code and export. 2010-10-20 16:22:34 -07:00
xen.h xen: move Xen-testing predicates to common header 2009-11-04 08:47:24 -08:00
xenbus.h include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
xencomm.h xen: import arch generic part of xencomm 2008-04-24 23:57:32 +02:00