aboutsummaryrefslogtreecommitdiff
path: root/src/syscall/asm_linux_mipsx.s
diff options
context:
space:
mode:
Diffstat (limited to 'src/syscall/asm_linux_mipsx.s')
-rw-r--r--src/syscall/asm_linux_mipsx.s17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/syscall/asm_linux_mipsx.s b/src/syscall/asm_linux_mipsx.s
index 5727e4d41d..ee436490b2 100644
--- a/src/syscall/asm_linux_mipsx.s
+++ b/src/syscall/asm_linux_mipsx.s
@@ -139,6 +139,23 @@ ok2:
MOVW R0, err+36(FP) // errno
RET
+// func rawVforkSyscall(trap, a1 uintptr) (r1, err uintptr)
+TEXT ·rawVforkSyscall(SB),NOSPLIT|NOFRAME,$0-16
+ MOVW a1+4(FP), R4
+ MOVW R0, R5
+ MOVW R0, R6
+ MOVW trap+0(FP), R2 // syscall entry
+ SYSCALL
+ BEQ R7, ok
+ MOVW $-1, R1
+ MOVW R1, r1+8(FP) // r1
+ MOVW R2, err+12(FP) // errno
+ RET
+ok:
+ MOVW R2, r1+8(FP) // r1
+ MOVW R0, err+12(FP) // errno
+ RET
+
TEXT ·rawSyscallNoError(SB),NOSPLIT,$20-24
MOVW a1+4(FP), R4
MOVW a2+8(FP), R5