ARM: shmobile: Force ARM mode to compile reset vector for secondary CPUs
authorTetsuyuki Kobayashi <koba@kmckk.co.jp>
Wed, 10 Jul 2013 01:56:36 +0000 (10:56 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Wed, 17 Jul 2013 23:35:21 +0000 (08:35 +0900)
Instructions start from boot vector must be ARM mode.
This patch specify ARM mode explicitly and use 'bx' instruction to be
able to change to Thumb mode.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Acked-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/headsmp.S

index 559d1ce..afed58e 100644 (file)
@@ -26,10 +26,13 @@ ENDPROC(shmobile_invalidate_start)
  * This will be mapped at address 0 by SBAR register.
  * We need _long_ jump to the physical address.
  */
+       .arm
        .align  12
 ENTRY(shmobile_boot_vector)
        ldr     r0, 2f
-       ldr     pc, 1f
+       ldr     r1, 1f
+       bx      r1
+
 ENDPROC(shmobile_boot_vector)
 
        .globl  shmobile_boot_fn