diff options
author | Paul Mundt <lethal@linux-sh.org> | 2011-01-07 10:51:35 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2011-01-07 10:51:35 +0900 |
commit | e9d728f528f9548c8dd013899b23e662fa7b6bca (patch) | |
tree | d88a5df6e5a2b33ebe088ad0223fe54679a59df3 /arch/arm/mach-shmobile/include | |
parent | 018a3fc7e3824ffcc80ad0160f9782c7d577c0c1 (diff) | |
parent | 6155f77d09b968f591876f368d4843168910449e (diff) |
Merge branch 'rmobile/smp' into rmobile-latest
Conflicts:
arch/arm/Kconfig
arch/arm/mach-shmobile/include/mach/entry-macro-intc.S
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/arm/mach-shmobile/include')
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/common.h | 6 | ||||
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/smp.h | 16 |
2 files changed, 22 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h index 9f46cf5ca75..013ac0ee825 100644 --- a/arch/arm/mach-shmobile/include/mach/common.h +++ b/arch/arm/mach-shmobile/include/mach/common.h @@ -3,6 +3,7 @@ extern struct sys_timer shmobile_timer; extern void shmobile_setup_console(void); +extern void shmobile_secondary_vector(void); struct clk; extern int clk_init(void); extern void shmobile_handle_irq_intc(struct pt_regs *); @@ -40,4 +41,9 @@ extern void sh73a0_pinmux_init(void); extern struct clk sh73a0_extal1_clk; extern struct clk sh73a0_extal2_clk; +extern unsigned int sh73a0_get_core_count(void); +extern void sh73a0_secondary_init(unsigned int cpu); +extern int sh73a0_boot_secondary(unsigned int cpu); +extern void sh73a0_smp_prepare_cpus(void); + #endif /* __ARCH_MACH_COMMON_H */ diff --git a/arch/arm/mach-shmobile/include/mach/smp.h b/arch/arm/mach-shmobile/include/mach/smp.h new file mode 100644 index 00000000000..f4a35ff82c6 --- /dev/null +++ b/arch/arm/mach-shmobile/include/mach/smp.h @@ -0,0 +1,16 @@ +#ifndef __MACH_SMP_H +#define __MACH_SMP_H + +#include <asm/hardware/gic.h> +#include <asm/smp_mpidr.h> + +/* + * We use IRQ1 as the IPI + */ +static inline void smp_cross_call(const struct cpumask *mask) +{ +#if defined(CONFIG_ARM_GIC) + gic_raise_softirq(mask, 1); +#endif +} +#endif |