X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fasm-arm%2Fsmp.h;h=af99636db400e7e8cfbe81956faa1d84f11ebdf2;hb=13c48c490208d9e70d8d66d56f96c5054db69af7;hp=5a72e50ca9fc0ab5f1640d5ba975ee155851e14e;hpb=1ef43204f4bd24dcd3156185b19b31b6b4151ae9;p=linux-2.6 diff --git a/include/asm-arm/smp.h b/include/asm-arm/smp.h index 5a72e50ca9..af99636db4 100644 --- a/include/asm-arm/smp.h +++ b/include/asm-arm/smp.h @@ -10,7 +10,6 @@ #ifndef __ASM_ARM_SMP_H #define __ASM_ARM_SMP_H -#include #include #include #include @@ -41,6 +40,11 @@ extern void show_ipi_list(struct seq_file *p); */ asmlinkage void do_IPI(struct pt_regs *regs); +/* + * Setup the SMP cpu_possible_map + */ +extern void smp_init_cpus(void); + /* * Move global data into per-processor storage. */ @@ -56,6 +60,11 @@ extern void smp_cross_call(cpumask_t callmap); */ extern void smp_send_timer(void); +/* + * Broadcast a clock event to other CPUs. + */ +extern void smp_timer_broadcast(cpumask_t mask); + /* * Boot a secondary CPU, and assign it the specified idle task. * This also gives us the initial stack to use for this CPU. @@ -92,11 +101,12 @@ extern void platform_cpu_die(unsigned int cpu); extern int platform_cpu_kill(unsigned int cpu); extern void platform_cpu_enable(unsigned int cpu); -#ifdef CONFIG_LOCAL_TIMERS /* - * Setup a local timer interrupt for a CPU. + * Local timer interrupt handling function (can be IPI'ed). */ -extern void local_timer_setup(unsigned int cpu); +extern void local_timer_interrupt(void); + +#ifdef CONFIG_LOCAL_TIMERS /* * Stop a local timer interrupt. @@ -110,16 +120,17 @@ extern int local_timer_ack(void); #else -static inline void local_timer_setup(unsigned int cpu) -{ -} - static inline void local_timer_stop(unsigned int cpu) { } #endif +/* + * Setup a local timer interrupt for a CPU. + */ +extern void local_timer_setup(unsigned int cpu); + /* * show local interrupt info */