aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/internal/syscall/asm_linux_amd64.s
diff options
context:
space:
mode:
authorAndy Pan <panjf2000@gmail.com>2024-01-31 17:10:49 +0800
committerMichael Pratt <mpratt@google.com>2024-02-21 21:28:32 +0000
commit05c0579621b54cc461dd19dd9bebd5a2b3e7af3c (patch)
tree6fb8a9111da9f4ed7f2838308ab6bac509a94639 /src/runtime/internal/syscall/asm_linux_amd64.s
parentcdf3249d74c4187bc0c1737e1bb6ab1aa52c0b6f (diff)
downloadgo-05c0579621b54cc461dd19dd9bebd5a2b3e7af3c.tar.xz
runtime: migrate internal/syscall to internal/runtime
For #65355 Change-Id: I5fefe30dcb520159de565e61dafc74a740fc8730 Reviewed-on: https://go-review.googlesource.com/c/go/+/559715 Reviewed-by: Michael Pratt <mpratt@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/runtime/internal/syscall/asm_linux_amd64.s')
-rw-r--r--src/runtime/internal/syscall/asm_linux_amd64.s47
1 files changed, 0 insertions, 47 deletions
diff --git a/src/runtime/internal/syscall/asm_linux_amd64.s b/src/runtime/internal/syscall/asm_linux_amd64.s
deleted file mode 100644
index 3740ef1beb..0000000000
--- a/src/runtime/internal/syscall/asm_linux_amd64.s
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2022 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-#include "textflag.h"
-
-// func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
-//
-// We need to convert to the syscall ABI.
-//
-// arg | ABIInternal | Syscall
-// ---------------------------
-// num | AX | AX
-// a1 | BX | DI
-// a2 | CX | SI
-// a3 | DI | DX
-// a4 | SI | R10
-// a5 | R8 | R8
-// a6 | R9 | R9
-//
-// r1 | AX | AX
-// r2 | BX | DX
-// err | CX | part of AX
-//
-// Note that this differs from "standard" ABI convention, which would pass 4th
-// arg in CX, not R10.
-TEXT ·Syscall6<ABIInternal>(SB),NOSPLIT,$0
- // a6 already in R9.
- // a5 already in R8.
- MOVQ SI, R10 // a4
- MOVQ DI, DX // a3
- MOVQ CX, SI // a2
- MOVQ BX, DI // a1
- // num already in AX.
- SYSCALL
- CMPQ AX, $0xfffffffffffff001
- JLS ok
- NEGQ AX
- MOVQ AX, CX // errno
- MOVQ $-1, AX // r1
- MOVQ $0, BX // r2
- RET
-ok:
- // r1 already in AX.
- MOVQ DX, BX // r2
- MOVQ $0, CX // errno
- RET