qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2] ppc/pnv: Add QME region for P10


From: Nicholas Piggin
Subject: Re: [PATCH v2] ppc/pnv: Add QME region for P10
Date: Sat, 08 Jul 2023 11:16:52 +1000

On Fri Jul 7, 2023 at 5:12 PM AEST, Joel Stanley wrote:
> The Quad Management Engine (QME) manages power related settings for its
> quad. The xscom region is separate from the quad xscoms, therefore a new
> region is added. The xscoms in a QME select a given core by selecting
> the forth nibble.
>
> Implement dummy reads for the stop state history (SSH) and special
> wakeup (SPWU) registers. This quietens some sxcom errors when skiboot
> boots on p10.
>
> Power9 does not have a QME.
>
> Signed-off-by: Joel Stanley <joel@jms.id.au>

Nice, already merged but looks good to me. Just one thing...

> diff --git a/include/hw/ppc/pnv_xscom.h b/include/hw/ppc/pnv_xscom.h
> index a4c9d95dc5d3..9bc64635471e 100644
> --- a/include/hw/ppc/pnv_xscom.h
> +++ b/include/hw/ppc/pnv_xscom.h
> @@ -127,6 +127,17 @@ struct PnvXScomInterfaceClass {
>  #define PNV10_XSCOM_EC(proc)                    \
>      ((0x2 << 16) | ((1 << (3 - (proc))) << 12))
>  
> +#define PNV10_XSCOM_QME(chiplet) \
> +        (PNV10_XSCOM_EQ(chiplet) | (0xE << 16))
> +
> +/*
> + * Make the region larger by 0x1000 (instead of starting at an offset) so the
> + * modelled addresses start from 0
> + */
> +#define PNV10_XSCOM_QME_BASE(core)     \
> +    ((uint64_t) PNV10_XSCOM_QME(PNV10_XSCOM_EQ_CHIPLET(core)))
> +#define PNV10_XSCOM_QME_SIZE        (0x8000 + 0x1000)

I couldn't work out this comment.

Thanks,
Nick



reply via email to

[Prev in Thread] Current Thread [Next in Thread]