diff options
Diffstat (limited to 'src/syscall/asm_linux_mips64x.s')
-rw-r--r-- | src/syscall/asm_linux_mips64x.s | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/syscall/asm_linux_mips64x.s b/src/syscall/asm_linux_mips64x.s index fadf1939e0b..994d7779fbe 100644 --- a/src/syscall/asm_linux_mips64x.s +++ b/src/syscall/asm_linux_mips64x.s @@ -10,6 +10,30 @@ // System calls for mips64, Linux // +TEXT ·Syscall6(SB),NOSPLIT,$0-80 + JAL runtime·entersyscall(SB) + MOVV a1+8(FP), R4 + MOVV a2+16(FP), R5 + MOVV a3+24(FP), R6 + MOVV a4+32(FP), R7 + MOVV a5+40(FP), R8 + MOVV a6+48(FP), R9 + MOVV trap+0(FP), R2 // syscall entry + SYSCALL + BEQ R7, ok6 + MOVV $-1, R1 + MOVV R1, r1+56(FP) // r1 + MOVV R0, r2+64(FP) // r2 + MOVV R2, err+72(FP) // errno + JAL runtime·exitsyscall(SB) + RET +ok6: + MOVV R2, r1+56(FP) // r1 + MOVV R3, r2+64(FP) // r2 + MOVV R0, err+72(FP) // errno + JAL runtime·exitsyscall(SB) + RET + // func rawVforkSyscall(trap, a1 uintptr) (r1, err uintptr) TEXT ·rawVforkSyscall(SB),NOSPLIT|NOFRAME,$0-32 MOVV a1+8(FP), R4 |