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_riscv64.s (about) 1 // Copyright 2019 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 riscv64 && gc 6 // +build riscv64 7 // +build gc 8 9 #include "textflag.h" 10 11 // 12 // System calls for linux/riscv64. 13 // 14 // Where available, just jump to package syscall's implementation of 15 // these functions. 16 17 TEXT ·Syscall(SB),NOSPLIT,$0-56 18 JMP syscall·Syscall(SB) 19 20 TEXT ·Syscall6(SB),NOSPLIT,$0-80 21 JMP syscall·Syscall6(SB) 22 23 TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 24 CALL runtime·entersyscall(SB) 25 MOV a1+8(FP), A0 26 MOV a2+16(FP), A1 27 MOV a3+24(FP), A2 28 MOV trap+0(FP), A7 // syscall entry 29 ECALL 30 MOV A0, r1+32(FP) // r1 31 MOV A1, r2+40(FP) // r2 32 CALL runtime·exitsyscall(SB) 33 RET 34 35 TEXT ·RawSyscall(SB),NOSPLIT,$0-56 36 JMP syscall·RawSyscall(SB) 37 38 TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 39 JMP syscall·RawSyscall6(SB) 40 41 TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 42 MOV a1+8(FP), A0 43 MOV a2+16(FP), A1 44 MOV a3+24(FP), A2 45 MOV trap+0(FP), A7 // syscall entry 46 ECALL 47 MOV A0, r1+32(FP) 48 MOV A1, r2+40(FP) 49 RET