1 // Copyright 2022 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 #include "textflag.h"
6
7 // func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
8 TEXT ·Syscall6(SB),NOSPLIT,$0-80
9 MOVD num+0(FP), R8 // syscall entry
10 MOVD a1+8(FP), R0
11 MOVD a2+16(FP), R1
12 MOVD a3+24(FP), R2
13 MOVD a4+32(FP), R3
14 MOVD a5+40(FP), R4
15 MOVD a6+48(FP), R5
16 SVC
17 CMN $4095, R0
18 BCC ok
19 MOVD $-1, R4
20 MOVD R4, r1+56(FP)
21 MOVD ZR, r2+64(FP)
22 NEG R0, R0
23 MOVD R0, errno+72(FP)
24 RET
25 ok:
26 MOVD R0, r1+56(FP)
27 MOVD R1, r2+64(FP)
28 MOVD ZR, errno+72(FP)
29 RET
30
View as plain text