[sparc32] [4/13] smp_processor_id() BITFIXUP fixes

William Lee Irwin III
2004-08-05T04:46:25Z

On Wed, Aug 04, 2004 at 09:41:30PM -0700, William Lee Irwin III wrote:
> cpu_present_map is a cpumask_t. Sweep arch/sparc/kernel/sun4d_smp.c so
> that it is treated as such.

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.

Index: mm2-2.6.8-rc2/arch/sparc/kernel/sun4m_smp.c
===================================================================
--- mm2-2.6.8-rc2.orig/arch/sparc/kernel/sun4m_smp.c
+++ mm2-2.6.8-rc2/arch/sparc/kernel/sun4m_smp.c
@@ -458,9 +458,9 @@

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);
}
Index: mm2-2.6.8-rc2/arch/sparc/kernel/sun4d_smp.c
===================================================================
--- mm2-2.6.8-rc2.orig/arch/sparc/kernel/sun4d_smp.c
+++ mm2-2.6.8-rc2/arch/sparc/kernel/sun4d_smp.c
@@ -496,11 +496,11 @@
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;