github.com/nibnait/go-learn@v0.0.0-20220227013611-dfa47ea6d2da/src/pkg/mod/golang.org/x/sys@v0.0.0-20210630005230-0f9fa26af87c/unix/asm_linux_mips64x.s (about) 1 // Copyright 2015 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 && (mips64 || mips64le) && gc 6 // +build linux 7 // +build mips64 mips64le 8 // +build gc 9 10 #include "textflag.h" 11 12 // 13 // System calls for mips64, Linux 14 // 15 16 // Just jump to package syscall's implementation for all these functions. 17 // The runtime may know about them. 18 19 TEXT ·Syscall(SB),NOSPLIT,$0-56 20 JMP syscall·Syscall(SB) 21 22 TEXT ·Syscall6(SB),NOSPLIT,$0-80 23 JMP syscall·Syscall6(SB) 24 25 TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 26 JAL runtime·entersyscall(SB) 27 MOVV a1+8(FP), R4 28 MOVV a2+16(FP), R5 29 MOVV a3+24(FP), R6 30 MOVV R0, R7 31 MOVV R0, R8 32 MOVV R0, R9 33 MOVV trap+0(FP), R2 // syscall entry 34 SYSCALL 35 MOVV R2, r1+32(FP) 36 MOVV R3, r2+40(FP) 37 JAL runtime·exitsyscall(SB) 38 RET 39 40 TEXT ·RawSyscall(SB),NOSPLIT,$0-56 41 JMP syscall·RawSyscall(SB) 42 43 TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 44 JMP syscall·RawSyscall6(SB) 45 46 TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 47 MOVV a1+8(FP), R4 48 MOVV a2+16(FP), R5 49 MOVV a3+24(FP), R6 50 MOVV R0, R7 51 MOVV R0, R8 52 MOVV R0, R9 53 MOVV trap+0(FP), R2 // syscall entry 54 SYSCALL 55 MOVV R2, r1+32(FP) 56 MOVV R3, r2+40(FP) 57 RET