spapr: Handle irq backend changes with VFIO PCI devices
commite532e1d93c4bd869b11db6ee0de2057e7d288889
authorDavid Gibson <david@gibson.dropbear.id.au>
Mon, 30 Sep 2019 05:54:00 +0000 (30 15:54 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 25 Nov 2019 23:11:30 +0000 (26 10:11 +1100)
tree56cf4179ec237a48382dd9022d75e0f76bcc8b08
parentc5478fea27ac47ed3b57e0489a49b62f36024763
spapr: Handle irq backend changes with VFIO PCI devices

pseries machine type can have one of two different interrupt controllers in
use depending on feature negotiation with the guest.  Usually this is
invisible to devices, because they route to a common set of qemu_irqs which
in turn dispatch to the correct back end.

VFIO passthrough devices, however, wire themselves up directly to the KVM
irqchip for performance, which means they are affected by this change in
interrupt controller.  To get them to adjust correctly for the change in
irqchip, we need to fire the kvm irqchip change notifier.

Cc: Alex Williamson <alex.williamson@redhat.com>
Cc: Alexey Kardashevskiy <aik@ozlabs.ru>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Tested-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
Acked-by: Alex Williamson <alex.williamson@redhat.com>
hw/ppc/spapr_irq.c