[PATCH v2] powerpc/setup_{32, 64}.c: remove unneeded boot_cpuid{, _phys}
Benjamin Herrenschmidt
benh at kernel.crashing.org
Fri Dec 16 14:12:54 EST 2011
On Mon, 2011-11-28 at 22:24 -0600, Matthew McClintock wrote:
> boot_cpuid and init_thread_info.cpu are redundant, just use the
> var that stays around longer and add a define to make boot_cpuid
> point at the correct value
>
> boot_cpudid_phys is not needed and can completly go away from the
> SMP case, we leave it there for the non-SMP case since the paca
> struct is not around to store this info
>
> This patch also has the effect of having the logical cpu number
> of the boot cpu be updated correctly independently of the ordering
> of the cpu nodes in the device tree.
So what about head_fsl_booke.S comparing boot_cpuid to -1 ? That seems
to be broken now in at least 2 ways, boot_cpuid doesn't exist anymore
and you don't initialize it to -1 either...
Cheers,
Ben.
> Signed-off-by: Matthew McClintock <msm at freescale.com>
> ---
> v2: Fix compile issue for peries
> Remove '-1' initial value
>
> arch/powerpc/include/asm/smp.h | 2 +-
> arch/powerpc/kernel/setup_32.c | 5 +++--
> arch/powerpc/kernel/setup_64.c | 1 -
> arch/powerpc/sysdev/xics/xics-common.c | 1 +
> 4 files changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/smp.h b/arch/powerpc/include/asm/smp.h
> index adba970..f26c554 100644
> --- a/arch/powerpc/include/asm/smp.h
> +++ b/arch/powerpc/include/asm/smp.h
> @@ -29,7 +29,7 @@
> #endif
> #include <asm/percpu.h>
>
> -extern int boot_cpuid;
> +#define boot_cpuid (init_thread_info.cpu)
> extern int spinning_secondaries;
>
> extern void cpu_die(void);
> diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c
> index ac76108..8d4df4c 100644
> --- a/arch/powerpc/kernel/setup_32.c
> +++ b/arch/powerpc/kernel/setup_32.c
> @@ -46,10 +46,11 @@
>
> extern void bootx_init(unsigned long r4, unsigned long phys);
>
> -int boot_cpuid = -1;
> -EXPORT_SYMBOL_GPL(boot_cpuid);
> +/* we need a place to store phys cpu for non-SMP case */
> +#ifndef CONFIG_SMP
> int boot_cpuid_phys;
> EXPORT_SYMBOL_GPL(boot_cpuid_phys);
> +#endif
>
> int smp_hw_index[NR_CPUS];
>
> diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c
> index fb9bb46..6d0f00f 100644
> --- a/arch/powerpc/kernel/setup_64.c
> +++ b/arch/powerpc/kernel/setup_64.c
> @@ -73,7 +73,6 @@
> #define DBG(fmt...)
> #endif
>
> -int boot_cpuid = 0;
> int __initdata spinning_secondaries;
> u64 ppc64_pft_size;
>
> diff --git a/arch/powerpc/sysdev/xics/xics-common.c b/arch/powerpc/sysdev/xics/xics-common.c
> index d72eda6..8998b7a 100644
> --- a/arch/powerpc/sysdev/xics/xics-common.c
> +++ b/arch/powerpc/sysdev/xics/xics-common.c
> @@ -20,6 +20,7 @@
> #include <linux/of.h>
> #include <linux/slab.h>
> #include <linux/spinlock.h>
> +#include <linux/sched.h>
>
> #include <asm/prom.h>
> #include <asm/io.h>
More information about the Linuxppc-dev
mailing list