blob: 7ed38e43c6735b4f1a3a30e31465894e45361606 [file] [log] [blame]
khenaidooac637102019-01-14 15:44:34 -05001// 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
khenaidood948f772021-08-11 17:49:24 -04005//go:build gc
6// +build gc
khenaidooac637102019-01-14 15:44:34 -05007
8#include "textflag.h"
9
10//
11// System calls for AMD64, 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-56
18 JMP syscall·Syscall(SB)
19
20TEXT ·Syscall6(SB),NOSPLIT,$0-80
21 JMP syscall·Syscall6(SB)
22
23TEXT ·SyscallNoError(SB),NOSPLIT,$0-48
24 CALL runtime·entersyscall(SB)
25 MOVQ a1+8(FP), DI
26 MOVQ a2+16(FP), SI
27 MOVQ a3+24(FP), DX
28 MOVQ $0, R10
29 MOVQ $0, R8
30 MOVQ $0, R9
31 MOVQ trap+0(FP), AX // syscall entry
32 SYSCALL
33 MOVQ AX, r1+32(FP)
34 MOVQ DX, r2+40(FP)
35 CALL runtime·exitsyscall(SB)
36 RET
37
38TEXT ·RawSyscall(SB),NOSPLIT,$0-56
39 JMP syscall·RawSyscall(SB)
40
41TEXT ·RawSyscall6(SB),NOSPLIT,$0-80
42 JMP syscall·RawSyscall6(SB)
43
44TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48
45 MOVQ a1+8(FP), DI
46 MOVQ a2+16(FP), SI
47 MOVQ a3+24(FP), DX
48 MOVQ $0, R10
49 MOVQ $0, R8
50 MOVQ $0, R9
51 MOVQ trap+0(FP), AX // syscall entry
52 SYSCALL
53 MOVQ AX, r1+32(FP)
54 MOVQ DX, r2+40(FP)
55 RET
56
57TEXT ·gettimeofday(SB),NOSPLIT,$0-16
58 JMP syscall·gettimeofday(SB)