diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-02-11 21:56:07 +0000 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2010-05-02 09:35:39 +0100 |
commit | 59ac59f6f1432aa9417d2592bdfd17c99804dd66 (patch) | |
tree | c4251d8827165d9eb926d77470a59fb196f998f8 /arch/arm/mach-vexpress/include/mach/smp.h | |
parent | fef88f10767cfd9f9b4eebb5d5490214c5e13ad5 (diff) |
ARM: Add Versatile Express SMP support
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-vexpress/include/mach/smp.h')
-rw-r--r-- | arch/arm/mach-vexpress/include/mach/smp.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/arch/arm/mach-vexpress/include/mach/smp.h b/arch/arm/mach-vexpress/include/mach/smp.h new file mode 100644 index 00000000000..72a9621ed08 --- /dev/null +++ b/arch/arm/mach-vexpress/include/mach/smp.h @@ -0,0 +1,21 @@ +#ifndef __MACH_SMP_H +#define __MACH_SMP_H + +#include <asm/hardware/gic.h> + +#define hard_smp_processor_id() \ + ({ \ + unsigned int cpunum; \ + __asm__("mrc p15, 0, %0, c0, c0, 5" \ + : "=r" (cpunum)); \ + cpunum &= 0x0F; \ + }) + +/* + * We use IRQ1 as the IPI + */ +static inline void smp_cross_call(const struct cpumask *mask) +{ + gic_raise_softirq(mask, 1); +} +#endif |