summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-10 13:55:25 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2007-09-10 13:55:25 +0000
commit018008cc0f6278c5ed581eb4574f919540ac1bb3 (patch)
tree3abeb8c3bf2e1472d280be2f1a478ad925e9eb97 /c
parent2007-09-10 Alain Schaefer <alani@easc.ch> (diff)
downloadrtems-018008cc0f6278c5ed581eb4574f919540ac1bb3.tar.bz2
2007-09-10 Alain Schaefer <alani@easc.ch>
* shared/start/start.S: Initialize bss to zero.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/bfin/ChangeLog4
-rw-r--r--c/src/lib/libbsp/bfin/shared/start/start.S20
2 files changed, 22 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/bfin/ChangeLog b/c/src/lib/libbsp/bfin/ChangeLog
index f10a5b8898..721015cb07 100644
--- a/c/src/lib/libbsp/bfin/ChangeLog
+++ b/c/src/lib/libbsp/bfin/ChangeLog
@@ -1,3 +1,7 @@
+2007-09-10 Alain Schaefer <alani@easc.ch>
+
+ * shared/start/start.S: Initialize bss to zero.
+
2007-08-03 Joel Sherrill <joel.sherrill@OARcorp.com>
* shared/start/start.S: Fix typo of pO versus p0.
diff --git a/c/src/lib/libbsp/bfin/shared/start/start.S b/c/src/lib/libbsp/bfin/shared/start/start.S
index 79f0fcd2ba..01c607d4c6 100644
--- a/c/src/lib/libbsp/bfin/shared/start/start.S
+++ b/c/src/lib/libbsp/bfin/shared/start/start.S
@@ -20,8 +20,8 @@ __init:
__fini:
- .text
- .align 2
+ .section .l1code
+ .align 4
.global __start
__start:
@@ -64,6 +64,22 @@ __start:
START:
[--SP] = RETI;
+
+ p0.h = _bss_start;
+ p0.l = _bss_start;
+ p1.h = _end;
+ p1.l = _end;
+ r0 = p0;
+ r1 = p1;
+ r1 = r1 - r0;
+ p1 = r1;
+ r0 = 0;
+
+ /* Set _bss_start until _end to zero */
+ lsetup(loop1,loop2) LC0 = p1;
+ loop1: b[p0] = r0;
+ loop2: p0 +=1;
+
p0.l = _boot_card;
p0.h = _boot_card;