cubefs

Форк
0
/x
/
asm_linux_arm64.s 
53 строки · 1.1 Кб
1
// Copyright 2015 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 && arm64 && gc
6
// +build linux
7
// +build arm64
8
// +build gc
9

10
#include "textflag.h"
11

12
// Just jump to package syscall's implementation for all these functions.
13
// The runtime may know about them.
14

15
TEXT ·Syscall(SB),NOSPLIT,$0-56
16
	B	syscall·Syscall(SB)
17

18
TEXT ·Syscall6(SB),NOSPLIT,$0-80
19
	B	syscall·Syscall6(SB)
20

21
TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
22
	BL	runtime·entersyscall(SB)
23
	MOVD	a1+8(FP), R0
24
	MOVD	a2+16(FP), R1
25
	MOVD	a3+24(FP), R2
26
	MOVD	$0, R3
27
	MOVD	$0, R4
28
	MOVD	$0, R5
29
	MOVD	trap+0(FP), R8	// syscall entry
30
	SVC
31
	MOVD	R0, r1+32(FP)	// r1
32
	MOVD	R1, r2+40(FP)	// r2
33
	BL	runtime·exitsyscall(SB)
34
	RET
35

36
TEXT ·RawSyscall(SB),NOSPLIT,$0-56
37
	B	syscall·RawSyscall(SB)
38

39
TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
40
	B	syscall·RawSyscall6(SB)
41

42
TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
43
	MOVD	a1+8(FP), R0
44
	MOVD	a2+16(FP), R1
45
	MOVD	a3+24(FP), R2
46
	MOVD	$0, R3
47
	MOVD	$0, R4
48
	MOVD	$0, R5
49
	MOVD	trap+0(FP), R8	// syscall entry
50
	SVC
51
	MOVD	R0, r1+32(FP)
52
	MOVD	R1, r2+40(FP)
53
	RET
54

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

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

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

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