[PATCHv9 1/2] powerpc/setup : Enable boot_cpu_hwid for PPC32
Hari Bathini
hbathini at linux.ibm.com
Tue Oct 17 03:31:03 PDT 2023
On 17/10/23 7:58 am, Pingfan Liu wrote:
> In order to identify the boot cpu, its intserv[] should be recorded and
> checked in smp_setup_cpu_maps().
>
> smp_setup_cpu_maps() is shared between PPC64 and PPC32. Since PPC64 has
> already used boot_cpu_hwid to carry that information, enabling this
> variable on PPC32 so later it can also be used to carry that information
> for PPC32 in the coming patch.
>
> Signed-off-by: Pingfan Liu <piliu at redhat.com>
> Cc: Michael Ellerman <mpe at ellerman.id.au>
> Cc: Nicholas Piggin <npiggin at gmail.com>
> Cc: Christophe Leroy <christophe.leroy at csgroup.eu>
> Cc: Mahesh Salgaonkar <mahesh at linux.ibm.com>
> Cc: Wen Xiong <wenxiong at us.ibm.com>
> Cc: Baoquan He <bhe at redhat.com>
> Cc: Ming Lei <ming.lei at redhat.com>
> Cc: Sourabh Jain <sourabhjain at linux.ibm.com>
> Cc: Hari Bathini <hbathini at linux.ibm.com>
> Cc: kexec at lists.infradead.org
> To: linuxppc-dev at lists.ozlabs.org
LGTM.
Acked-by: Hari Bathini <hbathini at linux.ibm.com>
> ---
> arch/powerpc/include/asm/smp.h | 2 +-
> arch/powerpc/kernel/prom.c | 3 +--
> arch/powerpc/kernel/setup-common.c | 2 --
> 3 files changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
> index aaaa576d0e15..5db9178cc800 100644
> --- a/arch/powerpc/include/asm/smp.h
> +++ b/arch/powerpc/include/asm/smp.h
> @@ -26,7 +26,7 @@
> #include <asm/percpu.h>
>
> extern int boot_cpuid;
> -extern int boot_cpu_hwid; /* PPC64 only */
> +extern int boot_cpu_hwid;
> extern int spinning_secondaries;
> extern u32 *cpu_to_phys_id;
> extern bool coregroup_enabled;
> diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
> index 0b5878c3125b..ec82f5bda908 100644
> --- a/arch/powerpc/kernel/prom.c
> +++ b/arch/powerpc/kernel/prom.c
> @@ -372,8 +372,7 @@ static int __init early_init_dt_scan_cpus(unsigned long node,
> be32_to_cpu(intserv[found_thread]));
> boot_cpuid = found;
>
> - if (IS_ENABLED(CONFIG_PPC64))
> - boot_cpu_hwid = be32_to_cpu(intserv[found_thread]);
> + boot_cpu_hwid = be32_to_cpu(intserv[found_thread]);
>
> /*
> * PAPR defines "logical" PVR values for cpus that
> diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
> index 2f1026fba00d..707f0490639d 100644
> --- a/arch/powerpc/kernel/setup-common.c
> +++ b/arch/powerpc/kernel/setup-common.c
> @@ -87,9 +87,7 @@ EXPORT_SYMBOL(machine_id);
> int boot_cpuid = -1;
> EXPORT_SYMBOL_GPL(boot_cpuid);
>
> -#ifdef CONFIG_PPC64
> int boot_cpu_hwid = -1;
> -#endif
>
> /*
> * These are used in binfmt_elf.c to put aux entries on the stack
More information about the kexec
mailing list