[go] runtime: add comment for sys_linux_loong64.s

0 views
Skip to first unread message

Ben Shi (Gerrit)

unread,
Mar 28, 2023, 10:54:16 PM3/28/23
to Ben Shi, abner chenc, goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Gopher Robot, Cherry Mui, Wayne Zuo, Ian Lance Taylor, Meidan Li, Michael Knyszek, Michael Pratt, Dmitry Vyukov, Martin Möhrmann, Austin Clements, Keith Randall, golang-co...@googlegroups.com

Ben Shi submitted this change.

View Change

Approvals: Ian Lance Taylor: Looks good to me, approved; Run TryBots; Automatically submit change WANG Xuerui: Looks good to me, but someone else must approve Gopher Robot: TryBots succeeded Ian Lance Taylor: Looks good to me, approved Cherry Mui: Looks good to me, approved Meidan Li: Looks good to me, but someone else must approve
runtime: add comment for sys_linux_loong64

Change-Id: I617d6d788cb213c1405f81d9f689fd6846ee105a
Reviewed-on: https://go-review.googlesource.com/c/go/+/425300
Reviewed-by: Cherry Mui <cher...@google.com>
Reviewed-by: Ian Lance Taylor <ia...@google.com>
Run-TryBot: Ian Lance Taylor <ia...@google.com>
TryBot-Result: Gopher Robot <go...@golang.org>
Reviewed-by: Meidan Li <lime...@loongson.cn>
Auto-Submit: Ian Lance Taylor <ia...@google.com>
Reviewed-by: Ian Lance Taylor <ia...@golang.org>
Reviewed-by: WANG Xuerui <g...@xen0n.name>
---
M src/runtime/sys_linux_loong64.s
1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/src/runtime/sys_linux_loong64.s b/src/runtime/sys_linux_loong64.s
index f1dcef4..006c4bf 100644
--- a/src/runtime/sys_linux_loong64.s
+++ b/src/runtime/sys_linux_loong64.s
@@ -44,6 +44,7 @@
#define SYS_timer_settime 110
#define SYS_timer_delete 111

+// func exit(code int32)
TEXT runtime·exit(SB),NOSPLIT|NOFRAME,$0-4
MOVW code+0(FP), R4
MOVV $SYS_exit_group, R11
@@ -63,6 +64,7 @@
SYSCALL
JMP 0(PC)

+// func open(name *byte, mode, perm int32) int32
TEXT runtime·open(SB),NOSPLIT|NOFRAME,$0-20
MOVW $AT_FDCWD, R4 // AT_FDCWD, so this acts like open
MOVV name+0(FP), R5
@@ -76,6 +78,7 @@
MOVW R4, ret+16(FP)
RET

+// func closefd(fd int32) int32
TEXT runtime·closefd(SB),NOSPLIT|NOFRAME,$0-12
MOVW fd+0(FP), R4
MOVV $SYS_close, R11
@@ -86,6 +89,7 @@
MOVW R4, ret+8(FP)
RET

+// func write1(fd uintptr, p unsafe.Pointer, n int32) int32
TEXT runtime·write1(SB),NOSPLIT|NOFRAME,$0-28
MOVV fd+0(FP), R4
MOVV p+8(FP), R5
@@ -95,6 +99,7 @@
MOVW R4, ret+24(FP)
RET

+// func read(fd int32, p unsafe.Pointer, n int32) int32
TEXT runtime·read(SB),NOSPLIT|NOFRAME,$0-28
MOVW fd+0(FP), R4
MOVV p+8(FP), R5
@@ -113,6 +118,7 @@
MOVW R4, errno+16(FP)
RET

+// func usleep(usec uint32)
TEXT runtime·usleep(SB),NOSPLIT,$16-4
MOVWU usec+0(FP), R6
MOVV R6, R5
@@ -131,12 +137,14 @@
SYSCALL
RET

+// func gettid() uint32
TEXT runtime·gettid(SB),NOSPLIT,$0-4
MOVV $SYS_gettid, R11
SYSCALL
MOVW R4, ret+0(FP)
RET

+// func raise(sig uint32)
TEXT runtime·raise(SB),NOSPLIT|NOFRAME,$0
MOVV $SYS_getpid, R11
SYSCALL
@@ -150,6 +158,7 @@
SYSCALL
RET

+// func raiseproc(sig uint32)
TEXT runtime·raiseproc(SB),NOSPLIT|NOFRAME,$0
MOVV $SYS_getpid, R11
SYSCALL
@@ -159,12 +168,14 @@
SYSCALL
RET

+// func getpid() int
TEXT ·getpid(SB),NOSPLIT|NOFRAME,$0-8
MOVV $SYS_getpid, R11
SYSCALL
MOVV R4, ret+0(FP)
RET

+// func tgkill(tgid, tid, sig int)
TEXT ·tgkill(SB),NOSPLIT|NOFRAME,$0-24
MOVV tgid+0(FP), R4
MOVV tid+8(FP), R5
@@ -173,6 +184,7 @@
SYSCALL
RET

+// func setitimer(mode int32, new, old *itimerval)
TEXT runtime·setitimer(SB),NOSPLIT|NOFRAME,$0-24
MOVW mode+0(FP), R4
MOVV new+8(FP), R5
@@ -181,6 +193,7 @@
SYSCALL
RET

+// func timer_create(clockid int32, sevp *sigevent, timerid *int32) int32
TEXT runtime·timer_create(SB),NOSPLIT,$0-28
MOVW clockid+0(FP), R4
MOVV sevp+8(FP), R5
@@ -190,6 +203,7 @@
MOVW R4, ret+24(FP)
RET

+// func timer_settime(timerid int32, flags int32, new, old *itimerspec) int32
TEXT runtime·timer_settime(SB),NOSPLIT,$0-28
MOVW timerid+0(FP), R4
MOVW flags+4(FP), R5
@@ -200,6 +214,7 @@
MOVW R4, ret+24(FP)
RET

+// func timer_delete(timerid int32) int32
TEXT runtime·timer_delete(SB),NOSPLIT,$0-12
MOVW timerid+0(FP), R4
MOVV $SYS_timer_delete, R11
@@ -207,6 +222,7 @@
MOVW R4, ret+8(FP)
RET

+// func mincore(addr unsafe.Pointer, n uintptr, dst *byte) int32
TEXT runtime·mincore(SB),NOSPLIT|NOFRAME,$0-28
MOVV addr+0(FP), R4
MOVV n+8(FP), R5
@@ -279,6 +295,7 @@
SYSCALL
JMP finish

+// func nanotime1() int64
TEXT runtime·nanotime1(SB),NOSPLIT,$16-8
MOVV R3, R23 // R23 is unchanged by C code
MOVV R3, R25
@@ -345,6 +362,7 @@
SYSCALL
JMP finish

+// func rtsigprocmask(how int32, new, old *sigset, size int32)
TEXT runtime·rtsigprocmask(SB),NOSPLIT|NOFRAME,$0-28
MOVW how+0(FP), R4
MOVV new+8(FP), R5
@@ -357,6 +375,7 @@
MOVV R0, 0xf1(R0) // crash
RET

+// func rt_sigaction(sig uintptr, new, old *sigactiont, size uintptr) int32
TEXT runtime·rt_sigaction(SB),NOSPLIT|NOFRAME,$0-36
MOVV sig+0(FP), R4
MOVV new+8(FP), R5
@@ -367,6 +386,7 @@
MOVW R4, ret+32(FP)
RET

+// func sigfwd(fn uintptr, sig uint32, info *siginfo, ctx unsafe.Pointer)
TEXT runtime·sigfwd(SB),NOSPLIT,$0-32
MOVW sig+8(FP), R4
MOVV info+16(FP), R5
@@ -375,6 +395,7 @@
JAL (R20)
RET

+// func sigtramp(signo, ureg, ctxt unsafe.Pointer)
TEXT runtime·sigtramp(SB),NOSPLIT|TOPFRAME,$168
MOVW R4, (1*8)(R3)
MOVV R5, (2*8)(R3)
@@ -400,9 +421,11 @@

RET

+// func cgoSigtramp()
TEXT runtime·cgoSigtramp(SB),NOSPLIT,$0
JMP runtime·sigtramp(SB)

+// func mmap(addr unsafe.Pointer, n uintptr, prot, flags, fd int32, off uint32) (p unsafe.Pointer, err int)
TEXT runtime·mmap(SB),NOSPLIT|NOFRAME,$0
MOVV addr+0(FP), R4
MOVV n+8(FP), R5
@@ -424,6 +447,7 @@
MOVV $0, err+40(FP)
RET

+// func munmap(addr unsafe.Pointer, n uintptr)
TEXT runtime·munmap(SB),NOSPLIT|NOFRAME,$0
MOVV addr+0(FP), R4
MOVV n+8(FP), R5
@@ -434,6 +458,7 @@
MOVV R0, 0xf3(R0) // crash
RET

+// func madvise(addr unsafe.Pointer, n uintptr, flags int32)
TEXT runtime·madvise(SB),NOSPLIT|NOFRAME,$0
MOVV addr+0(FP), R4
MOVV n+8(FP), R5
@@ -443,8 +468,7 @@
MOVW R4, ret+24(FP)
RET

-// int64 futex(int32 *uaddr, int32 op, int32 val,
-// struct timespec *timeout, int32 *uaddr2, int32 val2);
+// func futex(addr unsafe.Pointer, op int32, val uint32, ts, addr2 unsafe.Pointer, val3 uint32) int32
TEXT runtime·futex(SB),NOSPLIT|NOFRAME,$0
MOVV addr+0(FP), R4
MOVW op+8(FP), R5
@@ -518,6 +542,7 @@
SYSCALL
JMP -3(PC) // keep exiting

+// func sigaltstack(new, old *stackt)
TEXT runtime·sigaltstack(SB),NOSPLIT|NOFRAME,$0
MOVV new+0(FP), R4
MOVV old+8(FP), R5
@@ -528,11 +553,13 @@
MOVV R0, 0xf1(R0) // crash
RET

+// func osyield()
TEXT runtime·osyield(SB),NOSPLIT|NOFRAME,$0
MOVV $SYS_sched_yield, R11
SYSCALL
RET

+// func sched_getaffinity(pid, len uintptr, buf *uintptr) int32
TEXT runtime·sched_getaffinity(SB),NOSPLIT|NOFRAME,$0
MOVV pid+0(FP), R4
MOVV len+8(FP), R5

To view, visit change 425300. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: I617d6d788cb213c1405f81d9f689fd6846ee105a
Gerrit-Change-Number: 425300
Gerrit-PatchSet: 21
Gerrit-Owner: abner chenc <chen...@loongson.cn>
Gerrit-Reviewer: Austin Clements <aus...@google.com>
Gerrit-Reviewer: Ben Shi <power...@163.com>
Gerrit-Reviewer: Cherry Mui <cher...@google.com>
Gerrit-Reviewer: Dmitry Vyukov <dvy...@google.com>
Gerrit-Reviewer: Gopher Robot <go...@golang.org>
Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
Gerrit-Reviewer: Ian Lance Taylor <ia...@google.com>
Gerrit-Reviewer: Keith Randall <k...@golang.org>
Gerrit-Reviewer: Martin Möhrmann <moeh...@google.com>
Gerrit-Reviewer: Meidan Li <lime...@loongson.cn>
Gerrit-Reviewer: Michael Knyszek <mkny...@google.com>
Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
Gerrit-Reviewer: WANG Xuerui <g...@xen0n.name>
Gerrit-Reviewer: Wayne Zuo <wdv...@golangcn.org>
Gerrit-MessageType: merged
Reply all
Reply to author
Forward
0 new messages