1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
4 * Copyright IBM Corp. 1999, 2000
7 #ifndef _ASM_S390_SIGCONTEXT_H
8 #define _ASM_S390_SIGCONTEXT_H
10 #include <linux/compiler.h>
11 #include <linux/types.h>
17 #define __NUM_VXRS_LOW 16
18 #define __NUM_VXRS_HIGH 16
22 /* Has to be at least _NSIG_WORDS from asm/signal.h */
23 #define _SIGCONTEXT_NSIG 64
24 #define _SIGCONTEXT_NSIG_BPW 32
25 /* Size of stack frame allocated when calling signal handler. */
26 #define __SIGNAL_FRAMESIZE 96
30 /* Has to be at least _NSIG_WORDS from asm/signal.h */
31 #define _SIGCONTEXT_NSIG 64
32 #define _SIGCONTEXT_NSIG_BPW 64
33 /* Size of stack frame allocated when calling signal handler. */
34 #define __SIGNAL_FRAMESIZE 160
36 #endif /* __s390x__ */
38 #define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)
39 #define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)
45 } __attribute__ ((aligned(8))) _psw_t;
50 unsigned long gprs[__NUM_GPRS];
51 unsigned int acrs[__NUM_ACRS];
58 double fprs[__NUM_FPRS];
63 _s390_regs_common regs;
70 unsigned long gprs_high[__NUM_GPRS];
72 unsigned long long vxrs_low[__NUM_VXRS_LOW];
73 __vector128 vxrs_high[__NUM_VXRS_HIGH];
74 unsigned char __reserved[128];
79 unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];
80 _sigregs __user *sregs;