Gibheer
fa05045d31
This is the import from the separate monfront repository. The history could not be imported, but this should suffice.
50 lines
1.0 KiB
ArmAsm
50 lines
1.0 KiB
ArmAsm
// Copyright 2019 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
//go:build riscv64 && gc
|
|
// +build riscv64
|
|
// +build gc
|
|
|
|
#include "textflag.h"
|
|
|
|
//
|
|
// System calls for linux/riscv64.
|
|
//
|
|
// Where available, just jump to package syscall's implementation of
|
|
// these functions.
|
|
|
|
TEXT ·Syscall(SB),NOSPLIT,$0-56
|
|
JMP syscall·Syscall(SB)
|
|
|
|
TEXT ·Syscall6(SB),NOSPLIT,$0-80
|
|
JMP syscall·Syscall6(SB)
|
|
|
|
TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
|
|
CALL runtime·entersyscall(SB)
|
|
MOV a1+8(FP), A0
|
|
MOV a2+16(FP), A1
|
|
MOV a3+24(FP), A2
|
|
MOV trap+0(FP), A7 // syscall entry
|
|
ECALL
|
|
MOV A0, r1+32(FP) // r1
|
|
MOV A1, r2+40(FP) // r2
|
|
CALL runtime·exitsyscall(SB)
|
|
RET
|
|
|
|
TEXT ·RawSyscall(SB),NOSPLIT,$0-56
|
|
JMP syscall·RawSyscall(SB)
|
|
|
|
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
|
|
JMP syscall·RawSyscall6(SB)
|
|
|
|
TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
|
|
MOV a1+8(FP), A0
|
|
MOV a2+16(FP), A1
|
|
MOV a3+24(FP), A2
|
|
MOV trap+0(FP), A7 // syscall entry
|
|
ECALL
|
|
MOV A0, r1+32(FP)
|
|
MOV A1, r2+40(FP)
|
|
RET
|