golang.org/x/sys@v0.20.1-0.20240517151509-673e0f94c16d/unix/asm_linux_mipsx.s (about) 1 // Copyright 2016 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 //go:build linux && (mips || mipsle) && gc 6 7 #include "textflag.h" 8 9 // 10 // System calls for mips, Linux 11 // 12 13 // Just jump to package syscall's implementation for all these functions. 14 // The runtime may know about them. 15 16 TEXT ·Syscall(SB),NOSPLIT,$0-28 17 JMP syscall·Syscall(SB) 18 19 TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 JMP syscall·Syscall6(SB) 21 22 TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 JMP syscall·Syscall9(SB) 24 25 TEXT ·SyscallNoError(SB),NOSPLIT,$0-24 26 JAL runtime·entersyscall(SB) 27 MOVW a1+4(FP), R4 28 MOVW a2+8(FP), R5 29 MOVW a3+12(FP), R6 30 MOVW R0, R7 31 MOVW trap+0(FP), R2 // syscall entry 32 SYSCALL 33 MOVW R2, r1+16(FP) // r1 34 MOVW R3, r2+20(FP) // r2 35 JAL runtime·exitsyscall(SB) 36 RET 37 38 TEXT ·RawSyscall(SB),NOSPLIT,$0-28 39 JMP syscall·RawSyscall(SB) 40 41 TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 42 JMP syscall·RawSyscall6(SB) 43 44 TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24 45 MOVW a1+4(FP), R4 46 MOVW a2+8(FP), R5 47 MOVW a3+12(FP), R6 48 MOVW trap+0(FP), R2 // syscall entry 49 SYSCALL 50 MOVW R2, r1+16(FP) 51 MOVW R3, r2+20(FP) 52 RET