diff options
| author | Andy Pan <panjf2000@gmail.com> | 2024-01-31 17:10:49 +0800 |
|---|---|---|
| committer | Michael Pratt <mpratt@google.com> | 2024-02-21 21:28:32 +0000 |
| commit | 05c0579621b54cc461dd19dd9bebd5a2b3e7af3c (patch) | |
| tree | 6fb8a9111da9f4ed7f2838308ab6bac509a94639 /src/runtime/internal/syscall | |
| parent | cdf3249d74c4187bc0c1737e1bb6ab1aa52c0b6f (diff) | |
| download | go-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')
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) - } -} |
