From dfd1934d5e1ddbeb326f77fc0e52307c801a1a3e Mon Sep 17 00:00:00 2001 From: "Charles.Forsyth" Date: Wed, 25 Mar 2009 15:55:14 +0000 Subject: x20090325-1554 --- emu/Plan9/asm-power.s | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 emu/Plan9/asm-power.s (limited to 'emu/Plan9/asm-power.s') diff --git a/emu/Plan9/asm-power.s b/emu/Plan9/asm-power.s new file mode 100644 index 00000000..ff1c57f2 --- /dev/null +++ b/emu/Plan9/asm-power.s @@ -0,0 +1,28 @@ + TEXT tramp(SB), 1, $0 + ADD $-8, R3, R4 /* new stack */ + MOVW 4(FP), R5 /* func to exec */ + MOVW R5, LR + MOVW 8(FP), R3 /* arg to reg */ + MOVW R4, R1 /* new stack */ + BL (LR) + MOVW R0, R3 + MOVW $_exits(SB), R4 + MOVW R4, LR + BR (LR) + + TEXT vstack(SB), 1, $0 /* Passes &targ through R3 */ + MOVW ustack(SB), R1 + MOVW $exectramp(SB), R4 + MOVW R4, CTR + BR (CTR) + RETURN + + TEXT FPsave(SB), 1, $0 + MOVFL FPSCR, F0 + FMOVD F0, 0(R3) + RETURN + + TEXT FPrestore(SB), 1, $0 + FMOVD 0(R3), F0 + MOVFL F0, FPSCR + RETURN -- cgit v1.2.3