After re-reading what I just wrote, I am leaning towards disabling use of
KVM_CAP_IRQFD_RESAMPLE as it seems last worked on POWER8 and never since :)
Did I miss something in the picture (hey Cedric)?
How about disabling it like this?
=====
diff --git a/hw/ppc/spapr_pci.c b/hw/ppc/spapr_pci.c
index 5bfd4aa9e5aa..c999f7b1ab1b 100644
--- a/hw/ppc/spapr_pci.c
+++ b/hw/ppc/spapr_pci.c
@@ -732,7 +732,7 @@ static PCIINTxRoute spapr_route_intx_pin_to_irq(void
*opaque, int pin)
SpaprPhbState *sphb = SPAPR_PCI_HOST_BRIDGE(opaque);
PCIINTxRoute route;
- route.mode = PCI_INTX_ENABLED;
+ route.mode = PCI_INTX_DISABLED;
=====
I like it.
You now know how to test all the combinations :) Prepare your matrix,
variables are :
* Host OS POWER8, POWER9+
* KVM device XICS (P8), XICS-on-XIVE (P9), XIVE-on-XIVE (P9)
* kernel_irqchip off, on
* ic-mode xics, xive
* Guest OS msi or nomsi
Ideally you should check TCG, but that's like kernel_irqchip=off.
Cheers,
C.
(btw what the heck is PCI_INTX_INVERTED for?)
--
Alexey