diff options
Diffstat (limited to 'arch/sparc/kernel/sun4m_smp.c')
-rw-r--r-- | arch/sparc/kernel/sun4m_smp.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/sparc/kernel/sun4m_smp.c b/arch/sparc/kernel/sun4m_smp.c index a14a76ac7f36..5fc386d08c47 100644 --- a/arch/sparc/kernel/sun4m_smp.c +++ b/arch/sparc/kernel/sun4m_smp.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/swap.h> | 17 | #include <linux/swap.h> |
18 | #include <linux/profile.h> | 18 | #include <linux/profile.h> |
19 | #include <linux/delay.h> | 19 | #include <linux/delay.h> |
20 | #include <linux/cpu.h> | ||
20 | 21 | ||
21 | #include <asm/cacheflush.h> | 22 | #include <asm/cacheflush.h> |
22 | #include <asm/tlbflush.h> | 23 | #include <asm/tlbflush.h> |
@@ -71,6 +72,8 @@ void __cpuinit smp4m_callin(void) | |||
71 | local_flush_cache_all(); | 72 | local_flush_cache_all(); |
72 | local_flush_tlb_all(); | 73 | local_flush_tlb_all(); |
73 | 74 | ||
75 | notify_cpu_starting(cpuid); | ||
76 | |||
74 | /* Get our local ticker going. */ | 77 | /* Get our local ticker going. */ |
75 | smp_setup_percpu_timer(); | 78 | smp_setup_percpu_timer(); |
76 | 79 | ||
@@ -313,6 +316,8 @@ void smp4m_cross_call_irq(void) | |||
313 | ccall_info.processors_out[i] = 1; | 316 | ccall_info.processors_out[i] = 1; |
314 | } | 317 | } |
315 | 318 | ||
319 | extern void sun4m_clear_profile_irq(int cpu); | ||
320 | |||
316 | void smp4m_percpu_timer_interrupt(struct pt_regs *regs) | 321 | void smp4m_percpu_timer_interrupt(struct pt_regs *regs) |
317 | { | 322 | { |
318 | struct pt_regs *old_regs; | 323 | struct pt_regs *old_regs; |
@@ -320,7 +325,7 @@ void smp4m_percpu_timer_interrupt(struct pt_regs *regs) | |||
320 | 325 | ||
321 | old_regs = set_irq_regs(regs); | 326 | old_regs = set_irq_regs(regs); |
322 | 327 | ||
323 | clear_profile_irq(cpu); | 328 | sun4m_clear_profile_irq(cpu); |
324 | 329 | ||
325 | profile_tick(CPU_PROFILING); | 330 | profile_tick(CPU_PROFILING); |
326 | 331 | ||