ARM: shmobile: Fix base address readout in headsmp-scu.S
authorMagnus Damm <damm@opensource.se>
Mon, 18 Feb 2013 13:46:57 +0000 (22:46 +0900)
committerSimon Horman <horms+renesas@verge.net.au>
Tue, 12 Mar 2013 17:13:20 +0000 (02:13 +0900)
Rework the early SCU setup code in headsmp-scu.S to read
the base address in the same way as we use to fetch the
address of the invalidation function.

Reported-by: Bastian Hecht <hechtb@gmail.com>
Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/headsmp-scu.S

index 0b9317062b2ac2fcccb1198e785d45a5399fe968..7d113f898e7f62b57440348d6ce201d5c2441643 100644 (file)
@@ -39,7 +39,7 @@ ENTRY(shmobile_secondary_vector_scu)
        mrc     p15, 0, r0, c0, c0, 5   @ read MIPDR
        and     r0, r0, #3              @ mask out cpu ID
        lsl     r0, r0, #3              @ we will shift by cpu_id * 8 bits
-       ldr     r1, =shmobile_scu_base
+       ldr     r1, 2f
        ldr     r1, [r1]                @ SCU base address
        ldr     r2, [r1, #8]            @ SCU Power Status Register
        mov     r3, #3
@@ -48,6 +48,7 @@ ENTRY(shmobile_secondary_vector_scu)
 
        ldr     pc, 1f
 1:     .long shmobile_invalidate_start - PAGE_OFFSET + PLAT_PHYS_OFFSET
+2:     .long shmobile_scu_base - PAGE_OFFSET + PLAT_PHYS_OFFSET
 ENDPROC(shmobile_secondary_vector_scu)
 
        .text