golang.org/x/sys@v0.20.1-0.20240517151509-673e0f94c16d/unix/asm_linux_ppc64x.s (about) 1 // Copyright 2014 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 //go:build linux && (ppc64 || ppc64le) && gc 6 7 #include "textflag.h" 8 9 // 10 // System calls for ppc64, Linux 11 // 12 13 // Just jump to package syscall's implementation for all these functions. 14 // The runtime may know about them. 15 16 TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 17 BL runtime·entersyscall(SB) 18 MOVD a1+8(FP), R3 19 MOVD a2+16(FP), R4 20 MOVD a3+24(FP), R5 21 MOVD R0, R6 22 MOVD R0, R7 23 MOVD R0, R8 24 MOVD trap+0(FP), R9 // syscall entry 25 SYSCALL R9 26 MOVD R3, r1+32(FP) 27 MOVD R4, r2+40(FP) 28 BL runtime·exitsyscall(SB) 29 RET 30 31 TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 32 MOVD a1+8(FP), R3 33 MOVD a2+16(FP), R4 34 MOVD a3+24(FP), R5 35 MOVD R0, R6 36 MOVD R0, R7 37 MOVD R0, R8 38 MOVD trap+0(FP), R9 // syscall entry 39 SYSCALL R9 40 MOVD R3, r1+32(FP) 41 MOVD R4, r2+40(FP) 42 RET