On 14/04/2022 22:41, Cédric Le Goater wrote:
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.
The only thing is that this resampling works on POWER8/XICS and removing
it there is not great. So far sPAPR PHB was unaware of underlying
interrupt controller, or was not 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
--
Alexey