blob: 515819efd0469a726100632070af7a8ee4e5243b [file] [log] [blame]
Russell King862184f2005-11-07 21:05:42 +00001#ifndef ASMARM_ARCH_SMP_H
2#define ASMARM_ARCH_SMP_H
3
Russell King862184f2005-11-07 21:05:42 +00004
5#include <asm/hardware/gic.h>
6
7#define hard_smp_processor_id() \
8 ({ \
9 unsigned int cpunum; \
10 __asm__("mrc p15, 0, %0, c0, c0, 5" \
11 : "=r" (cpunum)); \
12 cpunum &= 0x0F; \
13 })
14
15/*
16 * We use IRQ1 as the IPI
17 */
18static inline void smp_cross_call(cpumask_t callmap)
19{
20 gic_raise_softirq(callmap, 1);
21}
22
23/*
24 * Do nothing on MPcore.
25 */
26static inline void smp_cross_call_done(cpumask_t callmap)
27{
28}
29
30#endif