github.com/neonyo/sys@v0.0.0-20230720094341-b1ee14be3ce8/unix/asm_linux_loong64.s (about) 1 // Copyright 2022 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 && loong64 && gc 6 // +build linux 7 // +build loong64 8 // +build gc 9 10 #include "textflag.h" 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-56 17 JMP syscall·Syscall(SB) 18 19 TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 JMP syscall·Syscall6(SB) 21 22 TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 23 JAL runtime·entersyscall(SB) 24 MOVV a1+8(FP), R4 25 MOVV a2+16(FP), R5 26 MOVV a3+24(FP), R6 27 MOVV R0, R7 28 MOVV R0, R8 29 MOVV R0, R9 30 MOVV trap+0(FP), R11 // syscall entry 31 SYSCALL 32 MOVV R4, r1+32(FP) 33 MOVV R0, r2+40(FP) // r2 is not used. Always set to 0 34 JAL runtime·exitsyscall(SB) 35 RET 36 37 TEXT ·RawSyscall(SB),NOSPLIT,$0-56 38 JMP syscall·RawSyscall(SB) 39 40 TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 41 JMP syscall·RawSyscall6(SB) 42 43 TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 44 MOVV a1+8(FP), R4 45 MOVV a2+16(FP), R5 46 MOVV a3+24(FP), R6 47 MOVV R0, R7 48 MOVV R0, R8 49 MOVV R0, R9 50 MOVV trap+0(FP), R11 // syscall entry 51 SYSCALL 52 MOVV R4, r1+32(FP) 53 MOVV R0, r2+40(FP) // r2 is not used. Always set to 0 54 RET