RT-AC56 3.0.0.4.374.37 core
[tomato.git] / release / src-rt-6.x.4708 / linux / linux-2.6.36 / arch / arm / mach-ux500 / include / mach / smp.h
blobb59f7bc9725d251812f102b0443f1f714270afe8
1 /*
2 * This file is based ARM realview platform.
3 * Copyright (C) ARM Limited.
5 * This file is licensed under the terms of the GNU General Public
6 * License version 2. This program is licensed "as is" without any
7 * warranty of any kind, whether express or implied.
8 */
9 #ifndef ASMARM_ARCH_SMP_H
10 #define ASMARM_ARCH_SMP_H
12 #include <asm/hardware/gic.h>
14 /* This is required to wakeup the secondary core */
15 extern void u8500_secondary_startup(void);
17 #define hard_smp_processor_id() \
18 ({ \
19 unsigned int cpunum; \
20 __asm__("mrc p15, 0, %0, c0, c0, 5" \
21 : "=r" (cpunum)); \
22 cpunum &= 0x0F; \
26 * We use IRQ1 as the IPI
28 static inline void smp_cross_call(const struct cpumask *mask)
30 gic_raise_softirq(mask, 1);
32 #endif