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
;