[U-Boot] [PATCH 4/4] armv7: fix relocation skip
Andreas Bießmann
andreas.devel at googlemail.com
Wed Dec 1 00:58:36 CET 2010
I doubt the stack_setup() was defective before:
we load the current location of _start and compare against destination
of relocate_code(). If we are already there we shoud skip the
relocation and jump over to clear_bss. Before the clear_bss was also skipped.
Signed-off-by: Andreas Bießmann <andreas.devel at googlemail.com>
---
Dear Albert,
(or whoever works with armv7 currently)
However I doubt there is another issue when CONFIG_PRELOADER is not set!
Then the bss will never be setup, is that correct?
arch/arm/cpu/armv7/start.S | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S
index 5d79f34..7e31cc2 100644
--- a/arch/arm/cpu/armv7/start.S
+++ b/arch/arm/cpu/armv7/start.S
@@ -165,9 +165,9 @@ stack_setup:
mov sp, r4
adr r0, _start
- cmp r0, r6
#ifndef CONFIG_PRELOADER
- beq jump_2_ram
+ cmp r0, r6
+ beq clear_bss /* skip relocation */
#endif
mov r1, r6 /* r1 <- scratch for copy_loop */
ldr r2, _TEXT_BASE
--
1.7.3.2
More information about the U-Boot
mailing list