summaryrefslogtreecommitdiff
path: root/emu/Plan9
diff options
context:
space:
mode:
Diffstat (limited to 'emu/Plan9')
-rw-r--r--emu/Plan9/asm-arm.s22
1 files changed, 22 insertions, 0 deletions
diff --git a/emu/Plan9/asm-arm.s b/emu/Plan9/asm-arm.s
new file mode 100644
index 00000000..4b9ab724
--- /dev/null
+++ b/emu/Plan9/asm-arm.s
@@ -0,0 +1,22 @@
+ TEXT tramp(SB), 1, $0
+ MOVW fn+4(FP), R1 /* func to exec */
+ MOVW arg+8(FP), R2 /* argument */
+ SUB $8, R0 /* new stack */
+ MOVW R0, SP
+ MOVW R2, R0
+ BL (R1)
+
+ MOVW $0, R0
+ BL _exits(SB)
+ RET
+
+ TEXT vstack(SB), 1, $0
+ MOVW ustack(SB), SP
+ BL exectramp(SB)
+ RET
+
+ TEXT FPsave(SB), 1, $0
+ RET
+
+ TEXT FPrestore(SB), 1, $0
+ RET