On Mon, 5 Oct 2020 18:51:43 +0200
Cédric Le Goater <clg@kaod.org> wrote:
> Signed-off-by: Cédric Le Goater <clg@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) {