On Mon, 5 Oct 2020 18:51:43 +0200 Cédric Le Goater <c...@kaod.org> wrote:
> Signed-off-by: Cédric Le Goater <c...@kaod.org> > --- > hw/ppc/spapr_caps.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c > index 57c62c22e4cc..b0a9d0227db2 100644 > --- a/hw/ppc/spapr_caps.c > +++ b/hw/ppc/spapr_caps.c > @@ -535,6 +535,14 @@ static void cap_storeeoi_apply(SpaprMachineState *spapr, > uint8_t val, > return; /* Disabled by default */ > } > > + /* For POWER8 CPUs, setting StoreEOI is useless as XIVE is not used */ > + if (!ppc_type_check_compat(machine->cpu_type, CPU_POWERPC_LOGICAL_3_00, > 0, > + spapr->max_compat_pvr)) { It seems that this check is already done during machine init before we get here: spapr_machine_init() spapr_irq_init() spapr_irq_check() So you could maybe just check !spapr->irq->xive I think. And s/on POWER8 CPUs/with XICS/ in the title. > + warn_report("StoreEOI is for the XIVE interrupt mode " > + "(POWER9 and above)"); > + return; > + } > + > /* Check host support when the KVM device is in use */ > if (kvm_irqchip_in_kernel()) { > if (!kvm_storeeoi) {