aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/internal/syscall
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
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')
-rw-r--r--src/runtime/internal/syscall/asm_linux_386.s34
-rw-r--r--src/runtime/internal/syscall/asm_linux_amd64.s47
-rw-r--r--src/runtime/internal/syscall/asm_linux_arm.s32
-rw-r--r--src/runtime/internal/syscall/asm_linux_arm64.s29
-rw-r--r--src/runtime/internal/syscall/asm_linux_loong64.s68
-rw-r--r--src/runtime/internal/syscall/asm_linux_mips64x.s30
-rw-r--r--src/runtime/internal/syscall/asm_linux_mipsx.s35
-rw-r--r--src/runtime/internal/syscall/asm_linux_ppc64x.s23
-rw-r--r--src/runtime/internal/syscall/asm_linux_riscv64.s43
-rw-r--r--src/runtime/internal/syscall/asm_linux_s390x.s28
-rw-r--r--src/runtime/internal/syscall/defs_linux.go19
-rw-r--r--src/runtime/internal/syscall/defs_linux_386.go21
-rw-r--r--src/runtime/internal/syscall/defs_linux_amd64.go21
-rw-r--r--src/runtime/internal/syscall/defs_linux_arm.go22
-rw-r--r--src/runtime/internal/syscall/defs_linux_arm64.go22
-rw-r--r--src/runtime/internal/syscall/defs_linux_loong64.go22
-rw-r--r--src/runtime/internal/syscall/defs_linux_mips64x.go24
-rw-r--r--src/runtime/internal/syscall/defs_linux_mipsx.go24
-rw-r--r--src/runtime/internal/syscall/defs_linux_ppc64x.go24
-rw-r--r--src/runtime/internal/syscall/defs_linux_riscv64.go22
-rw-r--r--src/runtime/internal/syscall/defs_linux_s390x.go22
-rw-r--r--src/runtime/internal/syscall/syscall_linux.go67
-rw-r--r--src/runtime/internal/syscall/syscall_linux_test.go19
23 files changed, 0 insertions, 698 deletions
diff --git a/src/runtime/internal/syscall/asm_linux_386.s b/src/runtime/internal/syscall/asm_linux_386.s
deleted file mode 100644
index 15aae4d8bd..0000000000
--- a/src/runtime/internal/syscall/asm_linux_386.s
+++ /dev/null
@@ -1,34 +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"
-
-// See ../sys_linux_386.s for the reason why we always use int 0x80
-// instead of the glibc-specific "CALL 0x10(GS)".
-#define INVOKE_SYSCALL INT $0x80
-
-// func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
-//
-// Syscall # in AX, args in BX CX DX SI DI BP, return in AX
-TEXT ·Syscall6(SB),NOSPLIT,$0-40
- MOVL num+0(FP), AX // syscall entry
- MOVL a1+4(FP), BX
- MOVL a2+8(FP), CX
- MOVL a3+12(FP), DX
- MOVL a4+16(FP), SI
- MOVL a5+20(FP), DI
- MOVL a6+24(FP), BP
- INVOKE_SYSCALL
- CMPL AX, $0xfffff001
- JLS ok
- MOVL $-1, r1+28(FP)
- MOVL $0, r2+32(FP)
- NEGL AX
- MOVL AX, errno+36(FP)
- RET
-ok:
- MOVL AX, r1+28(FP)
- MOVL DX, r2+32(FP)
- MOVL $0, errno+36(FP)
- RET
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
diff --git a/src/runtime/internal/syscall/asm_linux_arm.s b/src/runtime/internal/syscall/asm_linux_arm.s
deleted file mode 100644
index dbf1826d94..0000000000
--- a/src/runtime/internal/syscall/asm_linux_arm.s
+++ /dev/null
@@ -1,32 +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)
-TEXT ·Syscall6(SB),NOSPLIT,$0-40
- MOVW num+0(FP), R7 // syscall entry
- MOVW a1+4(FP), R0
- MOVW a2+8(FP), R1
- MOVW a3+12(FP), R2
- MOVW a4+16(FP), R3
- MOVW a5+20(FP), R4
- MOVW a6+24(FP), R5
- SWI $0
- MOVW $0xfffff001, R6
- CMP R6, R0
- BLS ok
- MOVW $-1, R1
- MOVW R1, r1+28(FP)
- MOVW $0, R2
- MOVW R2, r2+32(FP)
- RSB $0, R0, R0
- MOVW R0, errno+36(FP)
- RET
-ok:
- MOVW R0, r1+28(FP)
- MOVW R1, r2+32(FP)
- MOVW $0, R0
- MOVW R0, errno+36(FP)
- RET
diff --git a/src/runtime/internal/syscall/asm_linux_arm64.s b/src/runtime/internal/syscall/asm_linux_arm64.s
deleted file mode 100644
index 83e862ff72..0000000000
--- a/src/runtime/internal/syscall/asm_linux_arm64.s
+++ /dev/null
@@ -1,29 +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)
-TEXT ·Syscall6(SB),NOSPLIT,$0-80
- MOVD num+0(FP), R8 // syscall entry
- MOVD a1+8(FP), R0
- MOVD a2+16(FP), R1
- MOVD a3+24(FP), R2
- MOVD a4+32(FP), R3
- MOVD a5+40(FP), R4
- MOVD a6+48(FP), R5
- SVC
- CMN $4095, R0
- BCC ok
- MOVD $-1, R4
- MOVD R4, r1+56(FP)
- MOVD ZR, r2+64(FP)
- NEG R0, R0
- MOVD R0, errno+72(FP)
- RET
-ok:
- MOVD R0, r1+56(FP)
- MOVD R1, r2+64(FP)
- MOVD ZR, errno+72(FP)
- RET
diff --git a/src/runtime/internal/syscall/asm_linux_loong64.s b/src/runtime/internal/syscall/asm_linux_loong64.s
deleted file mode 100644
index 11c5bc2468..0000000000
--- a/src/runtime/internal/syscall/asm_linux_loong64.s
+++ /dev/null
@@ -1,68 +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 | R4 | R11
-// a1 | R5 | R4
-// a2 | R6 | R5
-// a3 | R7 | R6
-// a4 | R8 | R7
-// a5 | R9 | R8
-// a6 | R10 | R9
-//
-// r1 | R4 | R4
-// r2 | R5 | R5
-// err | R6 | part of R4
-TEXT ·Syscall6<ABIInternal>(SB),NOSPLIT,$0-80
-#ifdef GOEXPERIMENT_regabiargs
- MOVV R4, R11 // syscall entry
- MOVV R5, R4
- MOVV R6, R5
- MOVV R7, R6
- MOVV R8, R7
- MOVV R9, R8
- MOVV R10, R9
-#else
- MOVV num+0(FP), R11 // syscall entry
- MOVV a1+8(FP), R4
- MOVV a2+16(FP), R5
- MOVV a3+24(FP), R6
- MOVV a4+32(FP), R7
- MOVV a5+40(FP), R8
- MOVV a6+48(FP), R9
-#endif
- SYSCALL
-#ifdef GOEXPERIMENT_regabiargs
- MOVV R0, R5 // r2 is not used. Always set to 0.
- MOVW $-4096, R12
- BGEU R12, R4, ok
- SUBVU R4, R0, R6 // errno
- MOVV $-1, R4 // r1
-#else
- MOVW $-4096, R12
- BGEU R12, R4, ok
- MOVV $-1, R12
- MOVV R12, r1+56(FP)
- MOVV R0, r2+64(FP)
- SUBVU R4, R0, R4
- MOVV R4, errno+72(FP)
-#endif
- RET
-ok:
-#ifdef GOEXPERIMENT_regabiargs
- // r1 already in R4
- MOVV R0, R6 // errno
-#else
- MOVV R4, r1+56(FP)
- MOVV R0, r2+64(FP) // r2 is not used. Always set to 0.
- MOVV R0, errno+72(FP)
-#endif
- RET
diff --git a/src/runtime/internal/syscall/asm_linux_mips64x.s b/src/runtime/internal/syscall/asm_linux_mips64x.s
deleted file mode 100644
index 6b7c524689..0000000000
--- a/src/runtime/internal/syscall/asm_linux_mips64x.s
+++ /dev/null
@@ -1,30 +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.
-
-//go:build linux && (mips64 || mips64le)
-
-#include "textflag.h"
-
-// func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
-TEXT ·Syscall6(SB),NOSPLIT,$0-80
- MOVV num+0(FP), R2 // syscall entry
- MOVV a1+8(FP), R4
- MOVV a2+16(FP), R5
- MOVV a3+24(FP), R6
- MOVV a4+32(FP), R7
- MOVV a5+40(FP), R8
- MOVV a6+48(FP), R9
- MOVV R0, R3 // reset R3 to 0 as 1-ret SYSCALL keeps it
- SYSCALL
- BEQ R7, ok
- MOVV $-1, R1
- MOVV R1, r1+56(FP)
- MOVV R0, r2+64(FP)
- MOVV R2, errno+72(FP)
- RET
-ok:
- MOVV R2, r1+56(FP)
- MOVV R3, r2+64(FP)
- MOVV R0, errno+72(FP)
- RET
diff --git a/src/runtime/internal/syscall/asm_linux_mipsx.s b/src/runtime/internal/syscall/asm_linux_mipsx.s
deleted file mode 100644
index 561310f8a1..0000000000
--- a/src/runtime/internal/syscall/asm_linux_mipsx.s
+++ /dev/null
@@ -1,35 +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.
-
-//go:build linux && (mips || mipsle)
-
-#include "textflag.h"
-
-// func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
-//
-// The 5th and 6th arg go at sp+16, sp+20.
-// Note that frame size of 20 means that 24 bytes gets reserved on stack.
-TEXT ·Syscall6(SB),NOSPLIT,$20-40
- MOVW num+0(FP), R2 // syscall entry
- MOVW a1+4(FP), R4
- MOVW a2+8(FP), R5
- MOVW a3+12(FP), R6
- MOVW a4+16(FP), R7
- MOVW a5+20(FP), R8
- MOVW a6+24(FP), R9
- MOVW R8, 16(R29)
- MOVW R9, 20(R29)
- MOVW R0, R3 // reset R3 to 0 as 1-ret SYSCALL keeps it
- SYSCALL
- BEQ R7, ok
- MOVW $-1, R1
- MOVW R1, r1+28(FP)
- MOVW R0, r2+32(FP)
- MOVW R2, errno+36(FP)
- RET
-ok:
- MOVW R2, r1+28(FP)
- MOVW R3, r2+32(FP)
- MOVW R0, errno+36(FP)
- RET
diff --git a/src/runtime/internal/syscall/asm_linux_ppc64x.s b/src/runtime/internal/syscall/asm_linux_ppc64x.s
deleted file mode 100644
index 3e985edea0..0000000000
--- a/src/runtime/internal/syscall/asm_linux_ppc64x.s
+++ /dev/null
@@ -1,23 +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.
-
-//go:build linux && (ppc64 || ppc64le)
-
-#include "textflag.h"
-
-// func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
-TEXT ·Syscall6<ABIInternal>(SB),NOSPLIT,$0-80
- MOVD R3, R10 // Move syscall number to R10. SYSCALL will move it R0, and restore R0.
- MOVD R4, R3
- MOVD R5, R4
- MOVD R6, R5
- MOVD R7, R6
- MOVD R8, R7
- MOVD R9, R8
- SYSCALL R10
- MOVD $-1, R6
- ISEL CR0SO, R3, R0, R5 // errno = (error) ? R3 : 0
- ISEL CR0SO, R6, R3, R3 // r1 = (error) ? -1 : 0
- MOVD $0, R4 // r2 is not used on linux/ppc64
- RET
diff --git a/src/runtime/internal/syscall/asm_linux_riscv64.s b/src/runtime/internal/syscall/asm_linux_riscv64.s
deleted file mode 100644
index 15e50ec153..0000000000
--- a/src/runtime/internal/syscall/asm_linux_riscv64.s
+++ /dev/null
@@ -1,43 +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 | A0 | A7
-// a1 | A1 | A0
-// a2 | A2 | A1
-// a3 | A3 | A2
-// a4 | A4 | A3
-// a5 | A5 | A4
-// a6 | A6 | A5
-//
-// r1 | A0 | A0
-// r2 | A1 | A1
-// err | A2 | part of A0
-TEXT ·Syscall6<ABIInternal>(SB),NOSPLIT,$0-80
- MOV A0, A7
- MOV A1, A0
- MOV A2, A1
- MOV A3, A2
- MOV A4, A3
- MOV A5, A4
- MOV A6, A5
- ECALL
- MOV $-4096, T0
- BLTU T0, A0, err
- // r1 already in A0
- // r2 already in A1
- MOV ZERO, A2 // errno
- RET
-err:
- SUB A0, ZERO, A2 // errno
- MOV $-1, A0 // r1
- MOV ZERO, A1 // r2
- RET
diff --git a/src/runtime/internal/syscall/asm_linux_s390x.s b/src/runtime/internal/syscall/asm_linux_s390x.s
deleted file mode 100644
index 1b27f29390..0000000000
--- a/src/runtime/internal/syscall/asm_linux_s390x.s
+++ /dev/null
@@ -1,28 +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)
-TEXT ·Syscall6(SB),NOSPLIT,$0-80
- MOVD num+0(FP), R1 // syscall entry
- MOVD a1+8(FP), R2
- MOVD a2+16(FP), R3
- MOVD a3+24(FP), R4
- MOVD a4+32(FP), R5
- MOVD a5+40(FP), R6
- MOVD a6+48(FP), R7
- SYSCALL
- MOVD $0xfffffffffffff001, R8
- CMPUBLT R2, R8, ok
- MOVD $-1, r1+56(FP)
- MOVD $0, r2+64(FP)
- NEG R2, R2
- MOVD R2, errno+72(FP)
- RET
-ok:
- MOVD R2, r1+56(FP)
- MOVD R3, r2+64(FP)
- MOVD $0, errno+72(FP)
- RET
diff --git a/src/runtime/internal/syscall/defs_linux.go b/src/runtime/internal/syscall/defs_linux.go
deleted file mode 100644
index b2e36a244f..0000000000
--- a/src/runtime/internal/syscall/defs_linux.go
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright 2024 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.
-
-package syscall
-
-const (
- EPOLLIN = 0x1
- EPOLLOUT = 0x4
- EPOLLERR = 0x8
- EPOLLHUP = 0x10
- EPOLLRDHUP = 0x2000
- EPOLLET = 0x80000000
- EPOLL_CLOEXEC = 0x80000
- EPOLL_CTL_ADD = 0x1
- EPOLL_CTL_DEL = 0x2
- EPOLL_CTL_MOD = 0x3
- EFD_CLOEXEC = 0x80000
-)
diff --git a/src/runtime/internal/syscall/defs_linux_386.go b/src/runtime/internal/syscall/defs_linux_386.go
deleted file mode 100644
index 613dc77d59..0000000000
--- a/src/runtime/internal/syscall/defs_linux_386.go
+++ /dev/null
@@ -1,21 +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.
-
-package syscall
-
-const (
- SYS_FCNTL = 55
- SYS_EPOLL_CTL = 255
- SYS_EPOLL_PWAIT = 319
- SYS_EPOLL_CREATE1 = 329
- SYS_EPOLL_PWAIT2 = 441
- SYS_EVENTFD2 = 328
-
- EFD_NONBLOCK = 0x800
-)
-
-type EpollEvent struct {
- Events uint32
- Data [8]byte // to match amd64
-}
diff --git a/src/runtime/internal/syscall/defs_linux_amd64.go b/src/runtime/internal/syscall/defs_linux_amd64.go
deleted file mode 100644
index 2ba3128813..0000000000
--- a/src/runtime/internal/syscall/defs_linux_amd64.go
+++ /dev/null
@@ -1,21 +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.
-
-package syscall
-
-const (
- SYS_FCNTL = 72
- SYS_EPOLL_CTL = 233
- SYS_EPOLL_PWAIT = 281
- SYS_EPOLL_CREATE1 = 291
- SYS_EPOLL_PWAIT2 = 441
- SYS_EVENTFD2 = 290
-
- EFD_NONBLOCK = 0x800
-)
-
-type EpollEvent struct {
- Events uint32
- Data [8]byte // unaligned uintptr
-}
diff --git a/src/runtime/internal/syscall/defs_linux_arm.go b/src/runtime/internal/syscall/defs_linux_arm.go
deleted file mode 100644
index af3e0510b1..0000000000
--- a/src/runtime/internal/syscall/defs_linux_arm.go
+++ /dev/null
@@ -1,22 +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.
-
-package syscall
-
-const (
- SYS_FCNTL = 55
- SYS_EPOLL_CTL = 251
- SYS_EPOLL_PWAIT = 346
- SYS_EPOLL_CREATE1 = 357
- SYS_EPOLL_PWAIT2 = 441
- SYS_EVENTFD2 = 356
-
- EFD_NONBLOCK = 0x800
-)
-
-type EpollEvent struct {
- Events uint32
- _pad uint32
- Data [8]byte // to match amd64
-}
diff --git a/src/runtime/internal/syscall/defs_linux_arm64.go b/src/runtime/internal/syscall/defs_linux_arm64.go
deleted file mode 100644
index c924f6211a..0000000000
--- a/src/runtime/internal/syscall/defs_linux_arm64.go
+++ /dev/null
@@ -1,22 +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.
-
-package syscall
-
-const (
- SYS_EPOLL_CREATE1 = 20
- SYS_EPOLL_CTL = 21
- SYS_EPOLL_PWAIT = 22
- SYS_FCNTL = 25
- SYS_EPOLL_PWAIT2 = 441
- SYS_EVENTFD2 = 19
-
- EFD_NONBLOCK = 0x800
-)
-
-type EpollEvent struct {
- Events uint32
- _pad uint32
- Data [8]byte // to match amd64
-}
diff --git a/src/runtime/internal/syscall/defs_linux_loong64.go b/src/runtime/internal/syscall/defs_linux_loong64.go
deleted file mode 100644
index c1a5649a42..0000000000
--- a/src/runtime/internal/syscall/defs_linux_loong64.go
+++ /dev/null
@@ -1,22 +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.
-
-package syscall
-
-const (
- SYS_EPOLL_CREATE1 = 20
- SYS_EPOLL_CTL = 21
- SYS_EPOLL_PWAIT = 22
- SYS_FCNTL = 25
- SYS_EPOLL_PWAIT2 = 441
- SYS_EVENTFD2 = 19
-
- EFD_NONBLOCK = 0x800
-)
-
-type EpollEvent struct {
- Events uint32
- pad_cgo_0 [4]byte
- Data [8]byte // unaligned uintptr
-}
diff --git a/src/runtime/internal/syscall/defs_linux_mips64x.go b/src/runtime/internal/syscall/defs_linux_mips64x.go
deleted file mode 100644
index 07c0aba539..0000000000
--- a/src/runtime/internal/syscall/defs_linux_mips64x.go
+++ /dev/null
@@ -1,24 +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.
-
-//go:build linux && (mips64 || mips64le)
-
-package syscall
-
-const (
- SYS_FCNTL = 5070
- SYS_EPOLL_CTL = 5208
- SYS_EPOLL_PWAIT = 5272
- SYS_EPOLL_CREATE1 = 5285
- SYS_EPOLL_PWAIT2 = 5441
- SYS_EVENTFD2 = 5284
-
- EFD_NONBLOCK = 0x80
-)
-
-type EpollEvent struct {
- Events uint32
- pad_cgo_0 [4]byte
- Data [8]byte // unaligned uintptr
-}
diff --git a/src/runtime/internal/syscall/defs_linux_mipsx.go b/src/runtime/internal/syscall/defs_linux_mipsx.go
deleted file mode 100644
index a1bb5d720a..0000000000
--- a/src/runtime/internal/syscall/defs_linux_mipsx.go
+++ /dev/null
@@ -1,24 +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.
-
-//go:build linux && (mips || mipsle)
-
-package syscall
-
-const (
- SYS_FCNTL = 4055
- SYS_EPOLL_CTL = 4249
- SYS_EPOLL_PWAIT = 4313
- SYS_EPOLL_CREATE1 = 4326
- SYS_EPOLL_PWAIT2 = 4441
- SYS_EVENTFD2 = 4325
-
- EFD_NONBLOCK = 0x80
-)
-
-type EpollEvent struct {
- Events uint32
- pad_cgo_0 [4]byte
- Data uint64
-}
diff --git a/src/runtime/internal/syscall/defs_linux_ppc64x.go b/src/runtime/internal/syscall/defs_linux_ppc64x.go
deleted file mode 100644
index 78558b360f..0000000000
--- a/src/runtime/internal/syscall/defs_linux_ppc64x.go
+++ /dev/null
@@ -1,24 +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.
-
-//go:build linux && (ppc64 || ppc64le)
-
-package syscall
-
-const (
- SYS_FCNTL = 55
- SYS_EPOLL_CTL = 237
- SYS_EPOLL_PWAIT = 303
- SYS_EPOLL_CREATE1 = 315
- SYS_EPOLL_PWAIT2 = 441
- SYS_EVENTFD2 = 314
-
- EFD_NONBLOCK = 0x800
-)
-
-type EpollEvent struct {
- Events uint32
- pad_cgo_0 [4]byte
- Data [8]byte // unaligned uintptr
-}
diff --git a/src/runtime/internal/syscall/defs_linux_riscv64.go b/src/runtime/internal/syscall/defs_linux_riscv64.go
deleted file mode 100644
index c1a5649a42..0000000000
--- a/src/runtime/internal/syscall/defs_linux_riscv64.go
+++ /dev/null
@@ -1,22 +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.
-
-package syscall
-
-const (
- SYS_EPOLL_CREATE1 = 20
- SYS_EPOLL_CTL = 21
- SYS_EPOLL_PWAIT = 22
- SYS_FCNTL = 25
- SYS_EPOLL_PWAIT2 = 441
- SYS_EVENTFD2 = 19
-
- EFD_NONBLOCK = 0x800
-)
-
-type EpollEvent struct {
- Events uint32
- pad_cgo_0 [4]byte
- Data [8]byte // unaligned uintptr
-}
diff --git a/src/runtime/internal/syscall/defs_linux_s390x.go b/src/runtime/internal/syscall/defs_linux_s390x.go
deleted file mode 100644
index b539b2d22a..0000000000
--- a/src/runtime/internal/syscall/defs_linux_s390x.go
+++ /dev/null
@@ -1,22 +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.
-
-package syscall
-
-const (
- SYS_FCNTL = 55
- SYS_EPOLL_CTL = 250
- SYS_EPOLL_PWAIT = 312
- SYS_EPOLL_CREATE1 = 327
- SYS_EPOLL_PWAIT2 = 441
- SYS_EVENTFD2 = 323
-
- EFD_NONBLOCK = 0x800
-)
-
-type EpollEvent struct {
- Events uint32
- pad_cgo_0 [4]byte
- Data [8]byte // unaligned uintptr
-}
diff --git a/src/runtime/internal/syscall/syscall_linux.go b/src/runtime/internal/syscall/syscall_linux.go
deleted file mode 100644
index cb88659394..0000000000
--- a/src/runtime/internal/syscall/syscall_linux.go
+++ /dev/null
@@ -1,67 +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.
-
-// Package syscall provides the syscall primitives required for the runtime.
-package syscall
-
-import (
- "unsafe"
-)
-
-// TODO(https://go.dev/issue/51087): This package is incomplete and currently
-// only contains very minimal support for Linux.
-
-// Syscall6 calls system call number 'num' with arguments a1-6.
-func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
-
-// syscall_RawSyscall6 is a push linkname to export Syscall6 as
-// syscall.RawSyscall6.
-//
-// //go:uintptrkeepalive because the uintptr argument may be converted pointers
-// that need to be kept alive in the caller (this is implied for Syscall6 since
-// it has no body).
-//
-// //go:nosplit because stack copying does not account for uintptrkeepalive, so
-// the stack must not grow. Stack copying cannot blindly assume that all
-// uintptr arguments are pointers, because some values may look like pointers,
-// but not really be pointers, and adjusting their value would break the call.
-//
-// This is a separate wrapper because we can't export one function as two
-// names. The assembly implementations name themselves Syscall6 would not be
-// affected by a linkname.
-//
-//go:uintptrkeepalive
-//go:nosplit
-//go:linkname syscall_RawSyscall6 syscall.RawSyscall6
-func syscall_RawSyscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr) {
- return Syscall6(num, a1, a2, a3, a4, a5, a6)
-}
-
-func EpollCreate1(flags int32) (fd int32, errno uintptr) {
- r1, _, e := Syscall6(SYS_EPOLL_CREATE1, uintptr(flags), 0, 0, 0, 0, 0)
- return int32(r1), e
-}
-
-var _zero uintptr
-
-func EpollWait(epfd int32, events []EpollEvent, maxev, waitms int32) (n int32, errno uintptr) {
- var ev unsafe.Pointer
- if len(events) > 0 {
- ev = unsafe.Pointer(&events[0])
- } else {
- ev = unsafe.Pointer(&_zero)
- }
- r1, _, e := Syscall6(SYS_EPOLL_PWAIT, uintptr(epfd), uintptr(ev), uintptr(maxev), uintptr(waitms), 0, 0)
- return int32(r1), e
-}
-
-func EpollCtl(epfd, op, fd int32, event *EpollEvent) (errno uintptr) {
- _, _, e := Syscall6(SYS_EPOLL_CTL, uintptr(epfd), uintptr(op), uintptr(fd), uintptr(unsafe.Pointer(event)), 0, 0)
- return e
-}
-
-func Eventfd(initval, flags int32) (fd int32, errno uintptr) {
- r1, _, e := Syscall6(SYS_EVENTFD2, uintptr(initval), uintptr(flags), 0, 0, 0, 0)
- return int32(r1), e
-}
diff --git a/src/runtime/internal/syscall/syscall_linux_test.go b/src/runtime/internal/syscall/syscall_linux_test.go
deleted file mode 100644
index 1976da5c28..0000000000
--- a/src/runtime/internal/syscall/syscall_linux_test.go
+++ /dev/null
@@ -1,19 +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.
-
-package syscall_test
-
-import (
- "runtime/internal/syscall"
- "testing"
-)
-
-func TestEpollctlErrorSign(t *testing.T) {
- v := syscall.EpollCtl(-1, 1, -1, &syscall.EpollEvent{})
-
- const EBADF = 0x09
- if v != EBADF {
- t.Errorf("epollctl = %v, want %v", v, EBADF)
- }
-}