[PATCH 08/14] powerpc/setup: cpu_to_phys_id array
Michael Ellerman
mpe at ellerman.id.au
Thu Mar 29 16:51:03 AEDT 2018
Nicholas Piggin <npiggin at gmail.com> writes:
> Build an array that finds hardware CPU number from logical CPU
> number in firmware CPU discovery. Use that rather than setting
> paca of other CPUs directly, to begin with. Subsequent patch will
> not have pacas allocated at this point.
> ---
> arch/powerpc/include/asm/smp.h | 1 +
> arch/powerpc/kernel/prom.c | 7 +++++++
> arch/powerpc/kernel/setup-common.c | 15 ++++++++++++++-
> 3 files changed, 22 insertions(+), 1 deletion(-)
Added SOB.
> diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c
> index 4dffef947b8a..5979e34ba90e 100644
> --- a/arch/powerpc/kernel/prom.c
> +++ b/arch/powerpc/kernel/prom.c
> @@ -874,5 +874,12 @@ EXPORT_SYMBOL(cpu_to_chip_id);
>
> bool arch_match_cpu_phys_id(int cpu, u64 phys_id)
> {
> + /*
> + * Early firmware scanning must use this rather than
> + * get_hard_smp_processor_id because we don't have pacas allocated
> + * until memory topology is discovered.
> + */
> + if (cpu_to_phys_id != NULL)
> + return (int)phys_id == cpu_to_phys_id[cpu];
This needed an #ifdef CONFIG_SMP.
cheers
More information about the Linuxppc-dev
mailing list