Zero the frame pointer
[arm/ts7800-bwio.git] / ts7800.S
1 .global ts7800_start
2 ts7800_start:
3   stmfd sp!, {fp, lr}
4   mov fp, #0
5   bl main
6   ldmfd sp!, {fp, lr}
7
8   @ To return to U-Boot you should first return things to the state
9   @ you found them: svc mode, interrupts disabled, etc. If you don't
10   @ want to bother, reboot instead. U-Boot lives at 0x07FCA000 so
11   @ don't overwrite anything above the stack.
12   bx lr
13
14 ts7800_reboot:
15   ldr r0, =0xf1020000
16   ldr r1, [r0, #0x108]
17   orr r1, r1, #4
18   str r1, [r0, #0x108]
19   ldr r1, [r0, #0x10c]
20   orr r1, r1, #1
21   str r1, [r0, #0x10c]
22   b .