* Ard Biesheuvel <ard.biesheu...@linaro.org> [170805 13:54]:
> Replace the open coded PC relative offset calculations with a pair
> of adr_l invocations.
> 
> Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org>
> ---
>  arch/arm/kernel/head.S | 12 ++----------
>  1 file changed, 2 insertions(+), 10 deletions(-)
> 
> diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
> index 6e9df3663a57..aed341e0f530 100644
> --- a/arch/arm/kernel/head.S
> +++ b/arch/arm/kernel/head.S
> @@ -523,19 +523,11 @@ ARM_BE8(rev     r0, r0)                 @ byteswap if 
> big endian
>       retne   lr
>  
>  __fixup_smp_on_up:
> -     adr     r0, 1f
> -     ldmia   r0, {r3 - r5}
> -     sub     r3, r0, r3
> -     add     r4, r4, r3
> -     add     r5, r5, r3
> +     adr_l   r4, __smpalt_begin
> +     adr_l   r5, __smpalt_end
>       b       __do_fixup_smp_on_up
>  ENDPROC(__fixup_smp)
>  
> -     .align
> -1:   .word   .
> -     .word   __smpalt_begin
> -     .word   __smpalt_end
> -
>       .pushsection .data
>       .globl  smp_on_up
>  smp_on_up:

Ard, it's this one that cause boot to fail on omap3.
The rest of your set works for me with just this one
left out.

Regards,

Tony

Reply via email to