diff options
Diffstat (limited to 'sys/rt/arm')
-rw-r--r-- | sys/rt/arm/rt1.s | 11 | ||||
-rw-r--r-- | sys/rt/arm/rti.s | 13 | ||||
-rw-r--r-- | sys/rt/arm/rtn.s | 9 |
3 files changed, 33 insertions, 0 deletions
diff --git a/sys/rt/arm/rt1.s b/sys/rt/arm/rt1.s new file mode 100644 index 0000000..2adfee8 --- /dev/null +++ b/sys/rt/arm/rt1.s @@ -0,0 +1,11 @@ +.extern rt·thunk + +.text +.global _start +.type _start, %function +_start: + mov fp, #0 + mov lr, #0 + mov a1, sp + and sp, sp, #-16 + bl rt·thunk diff --git a/sys/rt/arm/rti.s b/sys/rt/arm/rti.s new file mode 100644 index 0000000..18dc1e4 --- /dev/null +++ b/sys/rt/arm/rti.s @@ -0,0 +1,13 @@ +.syntax unified + +.section .init +.global _init +.type _init,%function +_init: + push {r0,lr} + +.section .fini +.global _fini +.type _fini,%function +_fini: + push {r0,lr} diff --git a/sys/rt/arm/rtn.s b/sys/rt/arm/rtn.s new file mode 100644 index 0000000..dc020f9 --- /dev/null +++ b/sys/rt/arm/rtn.s @@ -0,0 +1,9 @@ +.syntax unified + +.section .init + pop {r0,lr} + bx lr + +.section .fini + pop {r0,lr} + bx lr |