diff options
Diffstat (limited to 'arch/sparc/kernel/sun4d_smp.c')
-rw-r--r-- | arch/sparc/kernel/sun4d_smp.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c index 41bb9596be48..b141b7ee6717 100644 --- a/arch/sparc/kernel/sun4d_smp.c +++ b/arch/sparc/kernel/sun4d_smp.c | |||
@@ -46,14 +46,16 @@ extern volatile int smp_processors_ready; | |||
46 | extern int smp_num_cpus; | 46 | extern int smp_num_cpus; |
47 | static int smp_highest_cpu; | 47 | static int smp_highest_cpu; |
48 | extern volatile unsigned long cpu_callin_map[NR_CPUS]; | 48 | extern volatile unsigned long cpu_callin_map[NR_CPUS]; |
49 | extern struct cpuinfo_sparc cpu_data[NR_CPUS]; | 49 | extern cpuinfo_sparc cpu_data[NR_CPUS]; |
50 | extern unsigned char boot_cpu_id; | 50 | extern unsigned char boot_cpu_id; |
51 | extern int smp_activated; | 51 | extern int smp_activated; |
52 | extern volatile int __cpu_number_map[NR_CPUS]; | 52 | extern volatile int __cpu_number_map[NR_CPUS]; |
53 | extern volatile int __cpu_logical_map[NR_CPUS]; | 53 | extern volatile int __cpu_logical_map[NR_CPUS]; |
54 | extern volatile unsigned long ipi_count; | 54 | extern volatile unsigned long ipi_count; |
55 | extern volatile int smp_process_available; | 55 | extern volatile int smp_process_available; |
56 | extern volatile int smp_commenced; | 56 | |
57 | extern cpumask_t smp_commenced_mask; | ||
58 | |||
57 | extern int __smp4d_processor_id(void); | 59 | extern int __smp4d_processor_id(void); |
58 | 60 | ||
59 | /* #define SMP_DEBUG */ | 61 | /* #define SMP_DEBUG */ |
@@ -136,7 +138,7 @@ void __init smp4d_callin(void) | |||
136 | 138 | ||
137 | local_irq_enable(); /* We don't allow PIL 14 yet */ | 139 | local_irq_enable(); /* We don't allow PIL 14 yet */ |
138 | 140 | ||
139 | while(!smp_commenced) | 141 | while (!cpu_isset(cpuid, smp_commenced_mask)) |
140 | barrier(); | 142 | barrier(); |
141 | 143 | ||
142 | spin_lock_irqsave(&sun4d_imsk_lock, flags); | 144 | spin_lock_irqsave(&sun4d_imsk_lock, flags); |