diff options
Diffstat (limited to 'emu/Plan9')
| -rw-r--r-- | emu/Plan9/asm-arm.s | 22 |
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 |
