@@ -182,9 +182,7 @@ next:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -249,9 +249,7 @@ skip_tcmdisable:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -164,9 +164,7 @@ reset:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -203,9 +203,7 @@ copyex:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -193,9 +193,7 @@ poll1:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -199,9 +199,7 @@ reset:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -168,9 +168,7 @@ reset:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -164,9 +164,7 @@ reset:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -172,9 +172,7 @@ reset:
*
*/
ENTRY(relocate_code)
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -266,9 +266,7 @@ reset:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -181,9 +181,7 @@ reset:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
/* Disable the Dcache RAM lock for stack now */
#ifdef CONFIG_CPU_PXA25X
@@ -149,9 +149,7 @@ reset:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -153,9 +153,7 @@ reset:
*/
.globl relocate_code
relocate_code:
- mov r4, r0 /* save addr_sp */
- mov r5, r1 /* save addr of gd */
- mov r6, r2 /* save addr of destination */
+ mov r6, r0 /* save addr of destination */
adr r0, _start
cmp r0, r6
@@ -97,8 +97,8 @@ _main:
/*
* Set up intermediate environment (new sp and gd) and call
- * relocate_code(addr_sp, gd, addr_moni). Trick here is that
- * we'll return 'here' but relocated.
+ * relocate_code(addr_moni). Trick here is that we'll return
+ * 'here' but relocated.
*/
ldr sp, [r8, #GD_START_ADDR_SP] /* r8 = gd->start_addr_sp */
@@ -109,9 +109,7 @@ _main:
adr lr, here
ldr r0, [r8, #GD_RELOC_OFF] /* lr = gd->start_addr_sp */
add lr, lr, r0
- ldr r0, [r8, #GD_START_ADDR_SP] /* r0 = gd->start_addr_sp */
- mov r1, r8 /* r1 = gd */
- ldr r2, [r8, #GD_RELOCADDR] /* r2 = gd->relocaddr */
+ ldr r0, [r8, #GD_RELOCADDR] /* r0 = gd->relocaddr */
b relocate_code
here:
@@ -39,7 +39,7 @@ DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_SPL_BUILD
void board_init_f(ulong bootflag)
{
- relocate_code(0, NULL, CONFIG_SPL_TEXT_BASE);
+ relocate_code(CONFIG_SPL_TEXT_BASE);
asm volatile("ldr pc, =nand_boot\n");
}
#endif
@@ -36,7 +36,7 @@ DECLARE_GLOBAL_DATA_PTR;
#ifdef CONFIG_SPL_BUILD
void board_init_f(ulong bootflag)
{
- relocate_code(0, NULL, CONFIG_SPL_TEXT_BASE);
+ relocate_code(CONFIG_SPL_TEXT_BASE);
asm volatile("ldr pc, =nand_boot\n");
}
#endif
@@ -32,6 +32,5 @@
void board_init_f(unsigned long bootflag)
{
- relocate_code(CONFIG_SYS_TEXT_BASE - TOTAL_MALLOC_LEN, NULL,
- CONFIG_SYS_TEXT_BASE);
+ relocate_code(CONFIG_SYS_TEXT_BASE);
}
@@ -515,11 +515,11 @@ int dcache_status (void);
void dcache_enable (void);
void dcache_disable(void);
void mmu_disable(void);
-void relocate_code(ulong, gd_t *, ulong)
-#if !defined(CONFIG_ARM)
-__attribute__ ((noreturn))
+#if defined(CONFIG_ARM)
+void relocate_code(ulong);
+#else
+void relocate_code(ulong, gd_t *, ulong) __attribute__ ((noreturn));
#endif
-;
ulong get_endaddr (void);
void trap_init (ulong);
#if defined (CONFIG_4xx) || \
Commit e05e5de7fae5bec79617e113916dac6631251156 made the 2 1st parameters of ARM's relocate_code() useless since it moved the code handling them to crt0.S. So, drop these parameters. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> --- Changes in v7: None Changes in v6: - New patch. Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None arch/arm/cpu/arm1136/start.S | 4 +--- arch/arm/cpu/arm1176/start.S | 4 +--- arch/arm/cpu/arm720t/start.S | 4 +--- arch/arm/cpu/arm920t/start.S | 4 +--- arch/arm/cpu/arm925t/start.S | 4 +--- arch/arm/cpu/arm926ejs/start.S | 4 +--- arch/arm/cpu/arm946es/start.S | 4 +--- arch/arm/cpu/arm_intcm/start.S | 4 +--- arch/arm/cpu/armv7/start.S | 4 +--- arch/arm/cpu/ixp/start.S | 4 +--- arch/arm/cpu/pxa/start.S | 4 +--- arch/arm/cpu/s3c44b0/start.S | 4 +--- arch/arm/cpu/sa1100/start.S | 4 +--- arch/arm/lib/crt0.S | 8 +++----- board/freescale/mx31pdk/mx31pdk.c | 2 +- board/karo/tx25/tx25.c | 2 +- board/samsung/smdk6400/smdk6400_nand_spl.c | 3 +-- include/common.h | 8 ++++---- 18 files changed, 23 insertions(+), 52 deletions(-)