summaryrefslogtreecommitdiff
path: root/emu/Plan9
diff options
context:
space:
mode:
authorforsyth <forsyth@vitanuova.com>2011-01-16 20:43:29 +0000
committerforsyth <forsyth@vitanuova.com>2011-01-16 20:43:29 +0000
commit9202ebf7c2a850851d3f34cb54101b238f2482ec (patch)
tree990adf9f348c28b434fa1dc39db45c104a722613 /emu/Plan9
parentb6b4a404e6ed49b8fb36ecc728a134b1274609d4 (diff)
20110116-2042
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