Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
[pandora-kernel.git] / arch / arm / mach-s5pv310 / include / mach / smp.h
1 /* linux/arch/arm/mach-s5pv310/include/mach/smp.h
2  *
3  * Cloned from arch/arm/mach-realview/include/mach/smp.h
4 */
5
6 #ifndef ASM_ARCH_SMP_H
7 #define ASM_ARCH_SMP_H __FILE__
8
9 #include <asm/hardware/gic.h>
10
11 extern void __iomem *gic_cpu_base_addr;
12
13 #define hard_smp_processor_id()                 \
14         ({                                              \
15                 unsigned int cpunum;                    \
16                 __asm__("mrc p15, 0, %0, c0, c0, 5"     \
17                         : "=r" (cpunum));               \
18                 cpunum &= 0x03;                         \
19         })
20
21 /*
22  * We use IRQ1 as the IPI
23  */
24 static inline void smp_cross_call(const struct cpumask *mask)
25 {
26         gic_raise_softirq(mask, 1);
27 }
28
29 #endif