summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile/smp-emev2.c
diff options
context:
space:
mode:
authorMagnus Damm <damm@opensource.se>2013-02-12 16:45:06 +0100
committerSimon Horman <horms+renesas@verge.net.au>2013-03-12 18:13:18 +0100
commitda252b8ee542e95d35374b1d31006f8fe5d59f6a (patch)
treeee63a0e2ea2da6e413bf5ac83efbebb6dd06dd0a /arch/arm/mach-shmobile/smp-emev2.c
parentARM: shmobile: Remove partial CPU Hotplug from EMEV2 (diff)
downloadlinux-da252b8ee542e95d35374b1d31006f8fe5d59f6a.tar.xz
linux-da252b8ee542e95d35374b1d31006f8fe5d59f6a.zip
ARM: shmobile: Move EMEV2 CPU boot vector setup code
Move the boot vector setup code for the EMEV2 SoC to match the sh73a0 and r8a7779 implementations. With this in place all SoC specific SMP implementations for mach-shmobile uses the ->smp_prepare_cpus() callback to setup the boot vector. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
Diffstat (limited to 'arch/arm/mach-shmobile/smp-emev2.c')
-rw-r--r--arch/arm/mach-shmobile/smp-emev2.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arm/mach-shmobile/smp-emev2.c b/arch/arm/mach-shmobile/smp-emev2.c
index 72620b1f87c8..64278215adaa 100644
--- a/arch/arm/mach-shmobile/smp-emev2.c
+++ b/arch/arm/mach-shmobile/smp-emev2.c
@@ -74,9 +74,6 @@ static int __cpuinit emev2_boot_secondary(unsigned int cpu, struct task_struct *
/* enable cache coherency */
modify_scu_cpu_psr(0, 3 << (cpu * 8));
- /* Tell ROM loader about our vector (in headsmp.S) */
- emev2_set_boot_vector(__pa(shmobile_secondary_vector));
-
arch_send_wakeup_ipi_mask(cpumask_of(cpu));
return 0;
}
@@ -87,6 +84,9 @@ static void __init emev2_smp_prepare_cpus(unsigned int max_cpus)
scu_enable(scu_base);
+ /* Tell ROM loader about our vector (in headsmp.S) */
+ emev2_set_boot_vector(__pa(shmobile_secondary_vector));
+
/* enable cache coherency on CPU0 */
modify_scu_cpu_psr(0, 3 << (cpu * 8));
}