summaryrefslogtreecommitdiffstats
path: root/arch/arm/cpu/arm_intcm/start.S
diff options
context:
space:
mode:
authorBenoît Thébaudeau <benoit.thebaudeau@advansee.com>2013-04-11 09:35:46 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2013-04-12 07:55:05 +0200
commit7086e91b0e9930139e703c8f9f857b52baf2bef4 (patch)
treeb28343755d8a8fc463d4e9542811e3f040b6abde /arch/arm/cpu/arm_intcm/start.S
parent4b3db1cd31cbf690b4bf5d704211a7385ff31e03 (diff)
downloadblackbird-obmc-uboot-7086e91b0e9930139e703c8f9f857b52baf2bef4.tar.gz
blackbird-obmc-uboot-7086e91b0e9930139e703c8f9f857b52baf2bef4.zip
arm: relocate_code(): Use __image_copy_end for end of relocation
Use __image_copy_end instead of __bss_start for the end of the image to relocate. This is the same as commit 033ca72, but applied to all ARM start.S. This is a more appropriate symbol naming for an image copy & relocate feature, and this also saves a useless copy of data put between __image_copy_end and __bss_start in linker scripts (e.g. relocation information, or MMU initialization tables used only before jumping to the relocated image). Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
Diffstat (limited to 'arch/arm/cpu/arm_intcm/start.S')
-rw-r--r--arch/arm/cpu/arm_intcm/start.S6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S
index a6e08ab5cd..cc054e8c28 100644
--- a/arch/arm/cpu/arm_intcm/start.S
+++ b/arch/arm/cpu/arm_intcm/start.S
@@ -101,6 +101,10 @@ _TEXT_BASE:
_bss_start_ofs:
.word __bss_start - _start
+.globl _image_copy_end_ofs
+_image_copy_end_ofs:
+ .word __image_copy_end - _start
+
.globl _bss_end_ofs
_bss_end_ofs:
.word __bss_end - _start
@@ -166,7 +170,7 @@ relocate_code:
subs r9, r6, r0 /* r9 <- relocation offset */
beq relocate_done /* skip relocation */
mov r1, r6 /* r1 <- scratch for copy_loop */
- ldr r3, _bss_start_ofs
+ ldr r3, _image_copy_end_ofs
add r2, r0, r3 /* r2 <- source end address */
copy_loop:
OpenPOWER on IntegriCloud