diff options
Diffstat (limited to 'arch/arm/mach-shmobile/platsmp.c')
-rw-r--r-- | arch/arm/mach-shmobile/platsmp.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/arch/arm/mach-shmobile/platsmp.c b/arch/arm/mach-shmobile/platsmp.c index b41f5d0650e..3c2c0f49073 100644 --- a/arch/arm/mach-shmobile/platsmp.c +++ b/arch/arm/mach-shmobile/platsmp.c @@ -16,25 +16,37 @@ #include <linux/smp.h> #include <linux/io.h> #include <asm/localtimer.h> +#include <asm/mach-types.h> +#include <mach/common.h> static unsigned int __init shmobile_smp_get_core_count(void) { + if (machine_is_ag5evm()) + return sh73a0_get_core_count(); + return 1; } static void __init shmobile_smp_prepare_cpus(void) { - /* do nothing for now */ + if (machine_is_ag5evm()) + sh73a0_smp_prepare_cpus(); } void __cpuinit platform_secondary_init(unsigned int cpu) { trace_hardirqs_off(); + + if (machine_is_ag5evm()) + sh73a0_secondary_init(cpu); } int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) { + if (machine_is_ag5evm()) + return sh73a0_boot_secondary(cpu); + return -ENOSYS; } |