[Skiboot] [PATCH v5 02/10] xive: Set the fused core mode properly

Cédric Le Goater clg at kaod.org
Sat Apr 25 23:14:32 AEST 2020


On 4/22/20 7:04 AM, Vaidyanathan Srinivasan wrote:
> From: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> 
> Set or clear the fused core mode bit in the XIVE inits
> properly. While HostBoot is supposed to do it, I prefer
> not depending on it doing the right thing, since we already
> configure that register ourselves anyway.
> 
> Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
> Signed-off-by: Michael Neuling <mikey at neuling.org>

I suppose that the thread enablement in the presenter is correct ? 
This was never tested AFAICT.

C.

> ---
>  hw/xive.c              | 4 ++++
>  include/xive-p9-regs.h | 1 +
>  2 files changed, 5 insertions(+)
> 
> diff --git a/hw/xive.c b/hw/xive.c
> index b90bd351..ee93b172 100644
> --- a/hw/xive.c
> +++ b/hw/xive.c
> @@ -1509,6 +1509,10 @@ static bool xive_config_init(struct xive *x)
>  	val |= PC_TCTXT_CFG_LGS_EN;
>  	/* Disable pressure relief as we hijack the field in the VPs */
>  	val &= ~PC_TCTXT_CFG_STORE_ACK;
> +	if (this_cpu()->is_fused_core)
> +		val |= PC_TCTXT_CFG_FUSE_CORE_EN;
> +	else
> +		val &= ~PC_TCTXT_CFG_FUSE_CORE_EN;
>  	xive_regw(x, PC_TCTXT_CFG, val);
>  	xive_dbg(x, "PC_TCTXT_CFG=%016llx\n", val);
>  
> diff --git a/include/xive-p9-regs.h b/include/xive-p9-regs.h
> index 7d18a6bf..fff341cc 100644
> --- a/include/xive-p9-regs.h
> +++ b/include/xive-p9-regs.h
> @@ -80,6 +80,7 @@
>  #define  PC_TCTXT_CFG_TARGET_EN		PPC_BIT(1)
>  #define  PC_TCTXT_CFG_LGS_EN		PPC_BIT(2)
>  #define  PC_TCTXT_CFG_STORE_ACK		PPC_BIT(3)
> +#define  PC_TCTXT_CFG_FUSE_CORE_EN PPC_BIT(4)
>  #define  PC_TCTXT_CFG_HARD_CHIPID_BLK	PPC_BIT(8)
>  #define  PC_TCTXT_CHIPID_OVERRIDE	PPC_BIT(9)
>  #define  PC_TCTXT_CHIPID		PPC_BITMASK(12,15)
> 



More information about the Skiboot mailing list