diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-04-27 14:19:54 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1998-04-27 14:19:54 +0000 |
commit | 36848cee664d4ec9a1a9b779ea3a939721ca5d35 (patch) | |
tree | 507410fda1dd92c9253b2142c7b1290b9a81ebe7 /c | |
parent | Fix from Ralf Corsepius: (diff) | |
download | rtems-36848cee664d4ec9a1a9b779ea3a939721ca5d35.tar.bz2 |
Clean up patch from Ralf Corsepius.
Diffstat (limited to 'c')
-rw-r--r-- | c/src/lib/start/sh/start.s | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/c/src/lib/start/sh/start.s b/c/src/lib/start/sh/start.s index d36a531ae4..9deeb53fed 100644 --- a/c/src/lib/start/sh/start.s +++ b/c/src/lib/start/sh/start.s @@ -32,27 +32,27 @@ SYM (start): mov.l edata_k,r0 mov.l end_k,r1 mov #0,r2 -start_l: +0: mov.l r2,@r0 add #4,r0 cmp/ge r0,r1 - bt start_l + bt 0b ! copy the vector table from rom to ram - mov.l vects_k,r7 ! vectab - mov #0,r2 ! address of boot vector table - mov #0,r3 | number of bytes copied - mov.w vects_size,r6 ! size of entries in vectab -0: - mov.l @r2+,r1 - mov.l r1,@r7 - add #4,r7 - add #1,r3 - cmp/hi r6,r3 - bf 0b + mov.l vects_k,r0 ! vectab + mov #0,r1 ! address of boot vector table + mov #0,r2 | number of bytes copied + mov.w vects_size,r3 ! size of entries in vectab +1: + mov.l @r1+,r4 + mov.l r4,@r0 + add #4,r0 + add #1,r2 + cmp/hi r3,r2 + bf 1b - mov.l vects_k,r8 ! update vbr to point to vectab - ldc r8,vbr + mov.l vects_k,r0 ! update vbr to point to vectab + ldc r0,vbr ! call the mainline mov #0,r4 ! argc @@ -70,18 +70,18 @@ start_l: .align 2 stack_k: - .long _stack + .long SYM(stack) edata_k: - .long _edata + .long SYM(edata) end_k: - .long _end + .long SYM(end) main_k: - .long _boot_card + .long SYM(boot_card) exit_k: - .long _exit + .long SYM(exit) vects_k: - .long _vectab + .long SYM(vectab) vects_size: .word 255 @@ -90,4 +90,5 @@ vects_size: #else .section .stack #endif -_stack: .long 0xdeaddead +SYM(stack): + .long 0xdeaddead |