[U-Boot] [v3] arm: Fixed the offset for the no relocation.

Zhong Hongbo
2012-09-02T06:52:44Z

Sorry, Add Albert to the thread.

Thanks,
hongbo
On 02/09/12 14:49, Zhong Hongbo wrote:
> From: Zhong Hongbo <bocui107@gmail.com>
>
> When the u-boot address of destination equal to __start,
> no relocation. relocation offset(r9) = 0.
>
> Signed-off-by: Zhong Hongbo <bocui107@gmail.com>
> ---
> Change for V3:
> - Drop the change of arm720t, It has already merge the change.
> Change for V2:
> - Clean a line for arm1176.
> ---
> arch/arm/cpu/arm1136/start.S | 1 +
> arch/arm/cpu/arm1176/start.S | 1 +
> arch/arm/cpu/arm920t/start.S | 1 +
> arch/arm/cpu/arm925t/start.S | 1 +
> arch/arm/cpu/arm926ejs/start.S | 1 +
> arch/arm/cpu/arm946es/start.S | 1 +
> arch/arm/cpu/arm_intcm/start.S | 1 +
> arch/arm/cpu/ixp/start.S | 1 +
> arch/arm/cpu/lh7a40x/start.S | 1 +
> arch/arm/cpu/pxa/start.S | 1 +
> arch/arm/cpu/s3c44b0/start.S | 1 +
> arch/arm/cpu/sa1100/start.S | 1 +
> 12 files changed, 12 insertions(+)
>
> diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S
> index 2483c63..3752af9 100644
> --- a/arch/arm/cpu/arm1136/start.S
> +++ b/arch/arm/cpu/arm1136/start.S
> @@ -190,6 +190,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S
> index d613641..667a0e0 100644
> --- a/arch/arm/cpu/arm1176/start.S
> +++ b/arch/arm/cpu/arm1176/start.S
> @@ -252,6 +252,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S
> index 9b8604e..14c9156 100644
> --- a/arch/arm/cpu/arm920t/start.S
> +++ b/arch/arm/cpu/arm920t/start.S
> @@ -210,6 +210,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S
> index 1a54416..3a483f6 100644
> --- a/arch/arm/cpu/arm925t/start.S
> +++ b/arch/arm/cpu/arm925t/start.S
> @@ -204,6 +204,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/arm926ejs/start.S b/arch/arm/cpu/arm926ejs/start.S
> index 6f05f1a..1b530dc 100644
> --- a/arch/arm/cpu/arm926ejs/start.S
> +++ b/arch/arm/cpu/arm926ejs/start.S
> @@ -235,6 +235,7 @@ stack_setup:
> adr r0, _start
> sub r9, r6, r0 /* r9 <- relocation offset */
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S
> index b4d1d2d..30e2183 100644
> --- a/arch/arm/cpu/arm946es/start.S
> +++ b/arch/arm/cpu/arm946es/start.S
> @@ -175,6 +175,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S
> index b85e7d4..a133d19 100644
> --- a/arch/arm/cpu/arm_intcm/start.S
> +++ b/arch/arm/cpu/arm_intcm/start.S
> @@ -171,6 +171,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/ixp/start.S b/arch/arm/cpu/ixp/start.S
> index 59c359a..c12f1a7 100644
> --- a/arch/arm/cpu/ixp/start.S
> +++ b/arch/arm/cpu/ixp/start.S
> @@ -273,6 +273,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/lh7a40x/start.S b/arch/arm/cpu/lh7a40x/start.S
> index bd68cd4..33b9269 100644
> --- a/arch/arm/cpu/lh7a40x/start.S
> +++ b/arch/arm/cpu/lh7a40x/start.S
> @@ -184,6 +184,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S
> index 33c73f6..536cf5c 100644
> --- a/arch/arm/cpu/pxa/start.S
> +++ b/arch/arm/cpu/pxa/start.S
> @@ -197,6 +197,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/s3c44b0/start.S b/arch/arm/cpu/s3c44b0/start.S
> index 8daf26c..323b923 100644
> --- a/arch/arm/cpu/s3c44b0/start.S
> +++ b/arch/arm/cpu/s3c44b0/start.S
> @@ -156,6 +156,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
> diff --git a/arch/arm/cpu/sa1100/start.S b/arch/arm/cpu/sa1100/start.S
> index bcea2a8..1ea92d1 100644
> --- a/arch/arm/cpu/sa1100/start.S
> +++ b/arch/arm/cpu/sa1100/start.S
> @@ -160,6 +160,7 @@ stack_setup:
>
> adr r0, _start
> cmp r0, r6
> + moveq r9, #0 /* no relocation. relocation offset(r9) = 0 */
> beq clear_bss /* skip relocation */
> mov r1, r6 /* r1 <- scratch for copy_loop */
> ldr r3, _bss_start_ofs
>