summaryrefslogtreecommitdiff
path: root/cpu/blackfin/start.S
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-11-03 06:11:31 -0500
committerMike Frysinger <vapier@gentoo.org>2010-01-17 09:17:26 -0500
commitb1e2c5519a06f9a5841a7a434bf4da4d393f8df5 (patch)
tree81f47c465438a676c6c88a361a9e6aaf7f8f2969 /cpu/blackfin/start.S
parent446707c90f52e5fcafecd468920cfad685ee9fc7 (diff)
Blackfin: move section length calculation to linker script
The length of the sections is fixed at link time, so let the linker do the calculation rather than doing it ourselves at runtime. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'cpu/blackfin/start.S')
-rw-r--r--cpu/blackfin/start.S18
1 files changed, 8 insertions, 10 deletions
diff --git a/cpu/blackfin/start.S b/cpu/blackfin/start.S
index 7cbd632205..44e2725608 100644
--- a/cpu/blackfin/start.S
+++ b/cpu/blackfin/start.S
@@ -139,11 +139,10 @@ ENTRY(_start)
.Ldma_and_reprogram:
r0.l = LO(L1_INST_SRAM);
r0.h = HI(L1_INST_SRAM);
- r1.l = __initcode_start;
- r1.h = __initcode_start;
- r2.l = __initcode_end;
- r2.h = __initcode_end;
- r2 = r2 - r1; /* convert r2 into length of initcode */
+ r1.l = __initcode_lma;
+ r1.h = __initcode_lma;
+ r2.l = __initcode_len;
+ r2.h = __initcode_len;
r1 = r1 - r4; /* convert r1 from load address of initcode ... */
r1 = r1 + r5; /* ... to current (not load) address of initcode */
p3 = r0;
@@ -173,12 +172,11 @@ ENTRY(_start)
* takes care of clearing things for us.
*/
serial_early_puts("Zero BSS");
- r0.l = __bss_start;
- r0.h = __bss_start;
+ r0.l = __bss_vma;
+ r0.h = __bss_vma;
r1 = 0 (x);
- r2.l = __bss_end;
- r2.h = __bss_end;
- r2 = r2 - r0;
+ r2.l = __bss_len;
+ r2.h = __bss_len;
call _memset;
.Lnorelocate: