1// Copyright 2009 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 gc
6// +build gc
7
8#include "textflag.h"
9
10//
11// System calls for arm, Linux
12//
13
14// Just jump to package syscall's implementation for all these functions.
15// The runtime may know about them.
16
17TEXT ·Syscall(SB),NOSPLIT,$0-28
18	B	syscall·Syscall(SB)
19
20TEXT ·Syscall6(SB),NOSPLIT,$0-40
21	B	syscall·Syscall6(SB)
22
23TEXT ·SyscallNoError(SB),NOSPLIT,$0-24
24	BL	runtime·entersyscall(SB)
25	MOVW	trap+0(FP), R7
26	MOVW	a1+4(FP), R0
27	MOVW	a2+8(FP), R1
28	MOVW	a3+12(FP), R2
29	MOVW	$0, R3
30	MOVW	$0, R4
31	MOVW	$0, R5
32	SWI	$0
33	MOVW	R0, r1+16(FP)
34	MOVW	$0, R0
35	MOVW	R0, r2+20(FP)
36	BL	runtime·exitsyscall(SB)
37	RET
38
39TEXT ·RawSyscall(SB),NOSPLIT,$0-28
40	B	syscall·RawSyscall(SB)
41
42TEXT ·RawSyscall6(SB),NOSPLIT,$0-40
43	B	syscall·RawSyscall6(SB)
44
45TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-24
46	MOVW	trap+0(FP), R7	// syscall entry
47	MOVW	a1+4(FP), R0
48	MOVW	a2+8(FP), R1
49	MOVW	a3+12(FP), R2
50	SWI	$0
51	MOVW	R0, r1+16(FP)
52	MOVW	$0, R0
53	MOVW	R0, r2+20(FP)
54	RET
55
56TEXT ·seek(SB),NOSPLIT,$0-28
57	B	syscall·seek(SB)
58