1// Copyright 2016 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 && s390x && gc 6// +build linux 7// +build s390x 8// +build gc 9 10#include "textflag.h" 11 12// 13// System calls for s390x, Linux 14// 15 16// Just jump to package syscall's implementation for all these functions. 17// The runtime may know about them. 18 19TEXT ·Syscall(SB),NOSPLIT,$0-56 20 BR syscall·Syscall(SB) 21 22TEXT ·Syscall6(SB),NOSPLIT,$0-80 23 BR syscall·Syscall6(SB) 24 25TEXT ·SyscallNoError(SB),NOSPLIT,$0-48 26 BL runtime·entersyscall(SB) 27 MOVD a1+8(FP), R2 28 MOVD a2+16(FP), R3 29 MOVD a3+24(FP), R4 30 MOVD $0, R5 31 MOVD $0, R6 32 MOVD $0, R7 33 MOVD trap+0(FP), R1 // syscall entry 34 SYSCALL 35 MOVD R2, r1+32(FP) 36 MOVD R3, r2+40(FP) 37 BL runtime·exitsyscall(SB) 38 RET 39 40TEXT ·RawSyscall(SB),NOSPLIT,$0-56 41 BR syscall·RawSyscall(SB) 42 43TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 44 BR syscall·RawSyscall6(SB) 45 46TEXT ·RawSyscallNoError(SB),NOSPLIT,$0-48 47 MOVD a1+8(FP), R2 48 MOVD a2+16(FP), R3 49 MOVD a3+24(FP), R4 50 MOVD $0, R5 51 MOVD $0, R6 52 MOVD $0, R7 53 MOVD trap+0(FP), R1 // syscall entry 54 SYSCALL 55 MOVD R2, r1+32(FP) 56 MOVD R3, r2+40(FP) 57 RET 58