From: William Lee Irwin III The SMP initialization functions try to do btfixups on the wrong symbols for smp_processor_id(), which is now implemented in terms of current_thread_info()->cpu. hard_smp_processor_id() etc. are now in use where smp_processor_id() was once used. Signed-off-by: Andrew Morton --- 25-akpm/arch/sparc/kernel/sun4d_smp.c | 4 ++-- 25-akpm/arch/sparc/kernel/sun4m_smp.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff -puN arch/sparc/kernel/sun4d_smp.c~sparc32-smp_processor_id-bitfixup-fixes arch/sparc/kernel/sun4d_smp.c --- 25/arch/sparc/kernel/sun4d_smp.c~sparc32-smp_processor_id-bitfixup-fixes 2004-08-04 22:37:33.728235496 -0700 +++ 25-akpm/arch/sparc/kernel/sun4d_smp.c 2004-08-04 22:37:33.735234432 -0700 @@ -493,11 +493,11 @@ void __init sun4d_init_smp(void) t_nmi[1] = t_nmi[1] + (linux_trap_ipi15_sun4d - linux_trap_ipi15_sun4m); /* And set btfixup... */ - BTFIXUPSET_BLACKBOX(smp_processor_id, smp4d_blackbox_id); + BTFIXUPSET_BLACKBOX(hard_smp_processor_id, smp4d_blackbox_id); BTFIXUPSET_BLACKBOX(load_current, smp4d_blackbox_current); BTFIXUPSET_CALL(smp_cross_call, smp4d_cross_call, BTFIXUPCALL_NORM); BTFIXUPSET_CALL(smp_message_pass, smp4d_message_pass, BTFIXUPCALL_NORM); - BTFIXUPSET_CALL(__smp_processor_id, __smp4d_processor_id, BTFIXUPCALL_NORM); + BTFIXUPSET_CALL(__hard_smp_processor_id, __smp4d_processor_id, BTFIXUPCALL_NORM); for (i = 0; i < NR_CPUS; i++) { ccall_info.processors_in[i] = 1; diff -puN arch/sparc/kernel/sun4m_smp.c~sparc32-smp_processor_id-bitfixup-fixes arch/sparc/kernel/sun4m_smp.c --- 25/arch/sparc/kernel/sun4m_smp.c~sparc32-smp_processor_id-bitfixup-fixes 2004-08-04 22:37:33.729235344 -0700 +++ 25-akpm/arch/sparc/kernel/sun4m_smp.c 2004-08-04 22:37:33.734234584 -0700 @@ -455,9 +455,9 @@ void __init smp4m_blackbox_current(unsig void __init sun4m_init_smp(void) { - BTFIXUPSET_BLACKBOX(smp_processor_id, smp4m_blackbox_id); + BTFIXUPSET_BLACKBOX(hard_smp_processor_id, smp4m_blackbox_id); BTFIXUPSET_BLACKBOX(load_current, smp4m_blackbox_current); BTFIXUPSET_CALL(smp_cross_call, smp4m_cross_call, BTFIXUPCALL_NORM); BTFIXUPSET_CALL(smp_message_pass, smp4m_message_pass, BTFIXUPCALL_NORM); - BTFIXUPSET_CALL(__smp_processor_id, __smp4m_processor_id, BTFIXUPCALL_NORM); + BTFIXUPSET_CALL(__hard_smp_processor_id, __smp4m_processor_id, BTFIXUPCALL_NORM); } _