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 19TEXT ·Syscall(SB),NOSPLIT,$0-56 20 JMP syscall·Syscall(SB) 21 22TEXT ·Syscall6(SB),NOSPLIT,$0-80 23 JMP syscall·Syscall6(SB) 24 25TEXT ·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 40TEXT ·RawSyscall(SB),NOSPLIT,$0-56 41 JMP syscall·RawSyscall(SB) 42 43TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 44 JMP syscall·RawSyscall6(SB) 45 46TEXT ·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 58