golang.org/x/sys@v0.20.1-0.20240517151509-673e0f94c16d/unix/asm_linux_amd64.s (about) 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 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 16 TEXT ·Syscall(SB),NOSPLIT,$0-56 17 JMP syscall·Syscall(SB) 18 19 TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 JMP syscall·Syscall6(SB) 21 22 TEXT ·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 37 TEXT ·RawSyscall(SB),NOSPLIT,$0-56 38 JMP syscall·RawSyscall(SB) 39 40 TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 41 JMP syscall·RawSyscall6(SB) 42 43 TEXT ·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 56 TEXT ·gettimeofday(SB),NOSPLIT,$0-16 57 JMP syscall·gettimeofday(SB)