Trim TS-7800 startup code
authorMichael Spang <mspang@csclub.uwaterloo.ca>
Thu, 24 Mar 2011 19:44:02 +0000 (15:44 -0400)
committerMichael Spang <mspang@csclub.uwaterloo.ca>
Thu, 24 Mar 2011 19:44:02 +0000 (15:44 -0400)
We can reuse U-Boot's stack instead of setting up our own. If we do
that we can also skip rebooting for very simple programs.

ts7800.S
ts7800.ld

index 17101f3..fdad145 100644 (file)
--- a/ts7800.S
+++ b/ts7800.S
@@ -1,15 +1,6 @@
 .global ts7800_start
 ts7800_start:
-  ldr sp, =init_stack
+  str lr, [sp, #-4]!
   bl main
-  b reboot
-
-reboot:
-  ldr r0, =0xf1020000
-  ldr r1, [r0, #0x108]
-  orr r1, r1, #4
-  str r1, [r0, #0x108]
-  ldr r1, [r0, #0x10c]
-  orr r1, r1, #1
-  str r1, [r0, #0x10c]
-  b .
+  ldr lr, [sp], #4
+  bx lr
index 1103ddb..02b1fcc 100644 (file)
--- a/ts7800.ld
+++ b/ts7800.ld
@@ -31,6 +31,4 @@ SECTIONS
     *(COMMON)
     __bss_end__ = .;
   }
-
-  init_stack = 0x8000000;
 }