qemu-e2k/hw/xen
Roger Pau Monne a803633660 xen/pt: allow QEMU to request MSI unmasking at bind time
When a MSI interrupt is bound to a guest using
xc_domain_update_msi_irq (XEN_DOMCTL_bind_pt_irq) the interrupt is
left masked by default.

This causes problems with guests that first configure interrupts and
clean the per-entry MSIX table mask bit and afterwards enable MSIX
globally. In such scenario the Xen internal msixtbl handlers would not
detect the unmasking of MSIX entries because vectors are not yet
registered since MSIX is not enabled, and vectors would be left
masked.

Introduce a new flag in the gflags field to signal Xen whether a MSI
interrupt should be unmasked after being bound.

This also requires to track the mask register for MSI interrupts, so
QEMU can also notify to Xen whether the MSI interrupt should be bound
masked or unmasked

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reported-by: Andreas Kinzler <hfp@posteo.de>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
2017-09-20 19:05:27 -07:00
..
Makefile.objs move xen-common.c to hw/xen/ 2017-04-25 11:04:34 -07:00
trace-events trace-events: fix code style: %# -> 0x% 2017-08-01 12:13:07 +01:00
xen-common.c migration: move skip_section_footers 2017-06-28 11:18:39 +02:00
xen-host-pci-device.c util: move declarations out of qemu-common.h 2016-03-22 22:20:17 +01:00
xen-host-pci-device.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
xen_backend.c Remove/replace sysemu/char.h inclusion 2017-06-02 11:33:52 +04:00
xen_devconfig.c xen: Rename xen_be_printf to xen_pv_printf 2016-10-28 17:53:50 -07:00
xen_pt.c xen/pt: Fixup addr validation in xen_pt_pci_config_access_check 2017-07-07 11:13:10 -07:00
xen_pt.h xen/pt: allow QEMU to request MSI unmasking at bind time 2017-09-20 19:05:27 -07:00
xen_pt_config_init.c xen/pt: allow QEMU to request MSI unmasking at bind time 2017-09-20 19:05:27 -07:00
xen_pt_graphics.c include/qemu/osdep.h: Don't include qapi/error.h 2016-03-22 22:20:15 +01:00
xen_pt_msi.c xen/pt: allow QEMU to request MSI unmasking at bind time 2017-09-20 19:05:27 -07:00
xen_pvdev.c xen: create qdev for each backend device 2016-11-22 10:29:39 -08:00