[ARM SMP] Add missing SMP timer handling for realview
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Tue, 8 Nov 2005 10:40:10 +0000 (10:40 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 8 Nov 2005 10:40:10 +0000 (10:40 +0000)
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 <rmk+kernel@arm.linux.org.uk>
arch/arm/mach-realview/core.c
include/asm-arm/smp.h

index 482eb512ebe8a79d0b38d1989b39e68d77ac4add..4ea60d8b6e36838bdd5deb72955732297edf6cf9 100644 (file)
@@ -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;
index 551cd3c3093cd8bde19f3a435e46ca4a86d446a4..21d1723c03e1c8c62f7ca7dc360c552d2414542a 100644 (file)
@@ -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.