[PATCH 01/08] ARM: shmobile: Fix base address readout in headsmp-scu.S

Bastian Hecht hechtb at gmail.com
Mon Feb 18 09:57:20 EST 2013


Hi Magnus,

yes using the physical address works.

Thanks,

 Bastian

2013/2/18 Magnus Damm <magnus.damm at gmail.com>:
> From: Magnus Damm <damm at opensource.se>
>
> 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 at gmail.com>
> Signed-off-by: Magnus Damm <damm at opensource.se>
> ---
>
>  Tested on r8a7779. Feel free to add incrementally or fold into:
>  [PATCH 05/06] ARM: shmobile: Common shmobile_scu_base in headsmp-scu.S
>
>  Bastian, does this solve your problem?
>
>  arch/arm/mach-shmobile/headsmp-scu.S |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> --- 0001/arch/arm/mach-shmobile/headsmp-scu.S
> +++ work/arch/arm/mach-shmobile/headsmp-scu.S   2013-02-18 16:17:58.000000000 +0900
> @@ -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



More information about the linux-arm-kernel mailing list