From: Russell King Date: Tue, 8 Nov 2005 10:40:10 +0000 (+0000) Subject: [ARM SMP] Add missing SMP timer handling for realview X-Git-Tag: v2.6.15-rc1~403^2~12 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dbebb4cbe02dc811e21bd3bc40a252490e46b949;p=linux-2.6 [ARM SMP] Add missing SMP timer handling for realview Until we have local timer support, we need to broadcast the timer interrupt to the other CPUs. Also, add the missing smp_send_timer() prototype to asm/smp.h Signed-off-by: Russell King --- diff --git a/arch/arm/mach-realview/core.c b/arch/arm/mach-realview/core.c index 482eb512eb..4ea60d8b6e 100644 --- a/arch/arm/mach-realview/core.c +++ b/arch/arm/mach-realview/core.c @@ -550,6 +550,11 @@ static irqreturn_t realview_timer_interrupt(int irq, void *dev_id, struct pt_reg timer_tick(regs); +#ifdef CONFIG_SMP + smp_send_timer(); + update_process_times(user_mode(regs)); +#endif + write_sequnlock(&xtime_lock); return IRQ_HANDLED; diff --git a/include/asm-arm/smp.h b/include/asm-arm/smp.h index 551cd3c309..21d1723c03 100644 --- a/include/asm-arm/smp.h +++ b/include/asm-arm/smp.h @@ -46,6 +46,11 @@ extern void smp_store_cpu_info(unsigned int cpuid); */ extern void smp_cross_call(cpumask_t callmap); +/* + * Broadcast a timer interrupt to the other CPUs. + */ +extern void smp_send_timer(void); + /* * Boot a secondary CPU, and assign it the specified idle task. * This also gives us the initial stack to use for this CPU.