cubefs

Форк
0
/x
/
asm_linux_riscv64.s 
49 строк · 1.0 Кб
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
50

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.