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// +build !gccgo
6
7#include "textflag.h"
8
9//
10// System calls for AMD64, Linux
11//
12
13// Just jump to package syscall's implementation for all these functions.
14// The runtime may know about them.
15
16TEXT ·Syscall(SB),NOSPLIT,$0-56
17	JMP	syscall·Syscall(SB)
18
19TEXT ·Syscall6(SB),NOSPLIT,$0-80
20	JMP	syscall·Syscall6(SB)
21
22TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
23	CALL	runtime·entersyscall(SB)
24	MOVQ	a1+8(FP), DI
25	MOVQ	a2+16(FP), SI
26	MOVQ	a3+24(FP), DX
27	MOVQ	$0, R10
28	MOVQ	$0, R8
29	MOVQ	$0, R9
30	MOVQ	trap+0(FP), AX	// syscall entry
31	SYSCALL
32	MOVQ	AX, r1+32(FP)
33	MOVQ	DX, r2+40(FP)
34	CALL	runtime·exitsyscall(SB)
35	RET
36
37TEXT ·RawSyscall(SB),NOSPLIT,$0-56
38	JMP	syscall·RawSyscall(SB)
39
40TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
41	JMP	syscall·RawSyscall6(SB)
42
43TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
44	MOVQ	a1+8(FP), DI
45	MOVQ	a2+16(FP), SI
46	MOVQ	a3+24(FP), DX
47	MOVQ	$0, R10
48	MOVQ	$0, R8
49	MOVQ	$0, R9
50	MOVQ	trap+0(FP), AX	// syscall entry
51	SYSCALL
52	MOVQ	AX, r1+32(FP)
53	MOVQ	DX, r2+40(FP)
54	RET
55
56TEXT ·gettimeofday(SB),NOSPLIT,$0-16
57	JMP	syscall·gettimeofday(SB)
58