Hi Srivatsa. I cannot see how this would work for sparc32... [Did not notice before...] > --- a/arch/sparc/kernel/leon_smp.c > +++ b/arch/sparc/kernel/leon_smp.c > +void __cpuinit __cpu_pre_starting(void *unused) > +{ > + unsigned int cpuid = hard_smp_processor_id(); > > diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c > index ddaea31..cd5367a 100644 > --- a/arch/sparc/kernel/sun4d_smp.c > +++ b/arch/sparc/kernel/sun4d_smp.c > +void __cpuinit __cpu_pre_starting(void *unused) > +{ > + unsigned int cpuid = hard_smp_processor_id(); > > diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c > index 128af73..ed05f54 100644 > --- a/arch/sparc/kernel/sun4m_smp.c > +++ b/arch/sparc/kernel/sun4m_smp.c > +void __cpuinit __cpu_pre_starting(void *unused) > +{ > + unsigned int cpuid = hard_smp_processor_id(); See how you define a function with the same name three times. On sparc32 we include all of the above files in the kernel, and uses various tricks to determine at run-time which variant to use. We need to define these general functions in smp_32.c and then take relevant action depending on sparc_cpu_model. Sam -- To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html