ARM: shmobile: Move EMEV2 CPU boot vector setup code
authorMagnus Damm <damm@opensource.se>
Tue, 12 Feb 2013 15:45:06 +0000 (00:45 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 12 Mar 2013 17:13:18 +0000 (02:13 +0900)
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>
arch/arm/mach-shmobile/smp-emev2.c

index 72620b1f87c8f8e8c733efffe3fd747100c29dd1..64278215adaa1beb15ac32a4a572458278c551fa 100644 (file)
@@ -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));
 }