ARM: shmobile: Fix base address readout in headsmp-scu.S

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>
This commit is contained in:
Magnus Damm 2013-02-18 22:46:57 +09:00 committed by Simon Horman
parent 8819ce4b88
commit 73e5709875

View File

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