usb-ks

USB Killswitch
git clone git://git.laack.co/usb-ks.git
Log | Files | Refs | README | LICENSE

asm_linux_riscv64.s (1072B)


      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