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 <m...@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> _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev