Russell King | 59ac59f | 2010-02-11 21:56:07 +0000 | [diff] [blame^] | 1 | #ifndef __MACH_SMP_H |
2 | #define __MACH_SMP_H | ||||
3 | |||||
4 | #include <asm/hardware/gic.h> | ||||
5 | |||||
6 | #define hard_smp_processor_id() \ | ||||
7 | ({ \ | ||||
8 | unsigned int cpunum; \ | ||||
9 | __asm__("mrc p15, 0, %0, c0, c0, 5" \ | ||||
10 | : "=r" (cpunum)); \ | ||||
11 | cpunum &= 0x0F; \ | ||||
12 | }) | ||||
13 | |||||
14 | /* | ||||
15 | * We use IRQ1 as the IPI | ||||
16 | */ | ||||
17 | static inline void smp_cross_call(const struct cpumask *mask) | ||||
18 | { | ||||
19 | gic_raise_softirq(mask, 1); | ||||
20 | } | ||||
21 | #endif |