diff options
| author | Michael Pratt <mpratt@google.com> | 2022-09-30 18:43:25 +0000 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2022-09-30 19:07:13 +0000 |
| commit | 4a49af5755564b5412acea2cfc3ac8556a7af453 (patch) | |
| tree | 077534fca793c024d854b3bee936c9d332da92cd /src/runtime/sys_linux_arm64.s | |
| parent | 4e6f963469d8f489586b2bf277af30e0fbfa1679 (diff) | |
| download | go-4a49af5755564b5412acea2cfc3ac8556a7af453.tar.xz | |
Revert "runtime: move epoll syscalls to runtime/internal/syscall"
This reverts CL 421994.
Reason for revert: breaks runtime.TestCheckPtr2
For #53824
For #51087
Change-Id: I044ea4d6efdffe0a4b7fb0d2bb3717d9f391fc59
Reviewed-on: https://go-review.googlesource.com/c/go/+/437295
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Michael Pratt <mpratt@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Bryan Mills <bcmills@google.com>
Diffstat (limited to 'src/runtime/sys_linux_arm64.s')
| -rw-r--r-- | src/runtime/sys_linux_arm64.s | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/runtime/sys_linux_arm64.s b/src/runtime/sys_linux_arm64.s index 04a2cd2da1..b47b6fd0a0 100644 --- a/src/runtime/sys_linux_arm64.s +++ b/src/runtime/sys_linux_arm64.s @@ -22,6 +22,7 @@ #define SYS_openat 56 #define SYS_close 57 #define SYS_pipe2 59 +#define SYS_fcntl 25 #define SYS_nanosleep 101 #define SYS_mmap 222 #define SYS_munmap 215 @@ -41,6 +42,9 @@ #define SYS_futex 98 #define SYS_sched_getaffinity 123 #define SYS_exit_group 94 +#define SYS_epoll_create1 20 +#define SYS_epoll_ctl 21 +#define SYS_epoll_pwait 22 #define SYS_clock_gettime 113 #define SYS_faccessat 48 #define SYS_socket 198 @@ -758,6 +762,54 @@ TEXT runtime·sched_getaffinity(SB),NOSPLIT|NOFRAME,$0 MOVW R0, ret+24(FP) RET +// int32 runtime·epollcreate(int32 size); +TEXT runtime·epollcreate(SB),NOSPLIT|NOFRAME,$0 + MOVW $0, R0 + MOVD $SYS_epoll_create1, R8 + SVC + MOVW R0, ret+8(FP) + RET + +// int32 runtime·epollcreate1(int32 flags); +TEXT runtime·epollcreate1(SB),NOSPLIT|NOFRAME,$0 + MOVW flags+0(FP), R0 + MOVD $SYS_epoll_create1, R8 + SVC + MOVW R0, ret+8(FP) + RET + +// func epollctl(epfd, op, fd int32, ev *epollEvent) int +TEXT runtime·epollctl(SB),NOSPLIT|NOFRAME,$0 + MOVW epfd+0(FP), R0 + MOVW op+4(FP), R1 + MOVW fd+8(FP), R2 + MOVD ev+16(FP), R3 + MOVD $SYS_epoll_ctl, R8 + SVC + MOVW R0, ret+24(FP) + RET + +// int32 runtime·epollwait(int32 epfd, EpollEvent *ev, int32 nev, int32 timeout); +TEXT runtime·epollwait(SB),NOSPLIT|NOFRAME,$0 + MOVW epfd+0(FP), R0 + MOVD ev+8(FP), R1 + MOVW nev+16(FP), R2 + MOVW timeout+20(FP), R3 + MOVD $0, R4 + MOVD $SYS_epoll_pwait, R8 + SVC + MOVW R0, ret+24(FP) + RET + +// void runtime·closeonexec(int32 fd); +TEXT runtime·closeonexec(SB),NOSPLIT|NOFRAME,$0 + MOVW fd+0(FP), R0 // fd + MOVD $2, R1 // F_SETFD + MOVD $1, R2 // FD_CLOEXEC + MOVD $SYS_fcntl, R8 + SVC + RET + // int access(const char *name, int mode) TEXT runtime·access(SB),NOSPLIT,$0-20 MOVD $AT_FDCWD, R0 |
