ARM: fix address setup in start.S
authorDarius Augulis <augulis.darius@gmail.com>
Mon, 25 Oct 2010 10:45:35 +0000 (13:45 +0300)
committerWolfgang Denk <wd@denx.de>
Tue, 26 Oct 2010 19:11:58 +0000 (21:11 +0200)
Fix address setup bug for ARM.
This bug stops u-boot booting if
CONFIG_SKIP_RELOCATE_UBOOT is defined.

Signed-off-by: Darius Augulis <augulis.darius@gmail.com>
arch/arm/cpu/arm1136/start.S
arch/arm/cpu/arm926ejs/start.S
arch/arm/cpu/armv7/start.S
arch/arm/cpu/pxa/start.S

index 07d0c85..e3e646c 100644 (file)
@@ -297,8 +297,10 @@ _nand_boot_ofs
 jump_2_ram:
        ldr     r0, _board_init_r_ofs
        adr     r1, _start
-       add     r0, r0, r1
-       add     lr, r0, r9
+       add     lr, r0, r1
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
+       add     lr, lr, r9
+#endif
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
index 69e1a33..7397882 100644 (file)
@@ -286,8 +286,10 @@ _nand_boot_ofs:
 #else
        ldr     r0, _board_init_r_ofs
        adr     r1, _start
-       add     r0, r0, r1
-       add     lr, r0, r9
+       add     lr, r0, r1
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
+       add     lr, lr, r9
+#endif
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
index b9eb0c9..bdf2fad 100644 (file)
@@ -275,8 +275,10 @@ clbss_l:str        r2, [r0]                /* clear loop...                    */
 jump_2_ram:
        ldr     r0, _board_init_r_ofs
        adr     r1, _start
-       add     r0, r0, r1
-       add     lr, r0, r9
+       add     lr, r0, r1
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
+       add     lr, lr, r9
+#endif
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */
index b8065b7..bf8510e 100644 (file)
@@ -331,8 +331,10 @@ _start_oneboot_ofs
 #else
        ldr     r0, _board_init_r_ofs
        adr     r1, _start
-       add     r0, r0, r1
-       add     lr, r0, r9
+       add     lr, r0, r1
+#ifndef CONFIG_SKIP_RELOCATE_UBOOT
+       add     lr, lr, r9
+#endif
        /* setup parameters for board_init_r */
        mov     r0, r5          /* gd_t */
        mov     r1, r7          /* dest_addr */