Re: [PATCH] powerpc/64: don't refer nr_cpu_ids in asm code when it's undefined

From: Stephen Rothwell
Date: Tue Sep 20 2022 - 18:20:52 EST


Hi Yury,

On Tue, 20 Sep 2022 08:29:35 -0700 Yury Norov <yury.norov@xxxxxxxxx> wrote:
>

> diff --git a/arch/powerpc/kernel/head_64.S b/arch/powerpc/kernel/head_64.S
> index cf2c08902c05..7cb97881635e 100644
> --- a/arch/powerpc/kernel/head_64.S
> +++ b/arch/powerpc/kernel/head_64.S
> @@ -400,7 +400,11 @@ generic_secondary_common_init:
> #else
> LOAD_REG_ADDR(r8, paca_ptrs) /* Load paca_ptrs pointe */
> ld r8,0(r8) /* Get base vaddr of array */
> +#if (NR_CPUS == 1) || defined(CONFIG_FORCE_NR_CPUS)
> + LOAD_REG_IMMEDIATE(r7, NR_CPUS)
> +#else
> LOAD_REG_ADDR(r7, nr_cpu_ids) /* Load nr_cpu_ids address */
> +#endif
> lwz r7,0(r7) /* also the max paca allocated */
> li r5,0 /* logical cpu id */
> 1:
> --
> 2.34.1
>

I don't know PPC assembly very well, but should the #endif be one line
lower so that the constant is not dereferenced in the non-#else case?

--
Cheers,
Stephen Rothwell

Attachment: pgpW3pjrzM1SF.pgp
Description: OpenPGP digital signature