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