Path: blob/master/arch/s390/include/uapi/asm/sigcontext.h
26481 views
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */1/*2* S390 version3* Copyright IBM Corp. 1999, 20004*/56#ifndef _ASM_S390_SIGCONTEXT_H7#define _ASM_S390_SIGCONTEXT_H89#include <linux/compiler.h>10#include <linux/types.h>1112#define __NUM_GPRS 1613#define __NUM_FPRS 1614#define __NUM_ACRS 1615#define __NUM_VXRS 3216#define __NUM_VXRS_LOW 1617#define __NUM_VXRS_HIGH 161819#ifndef __s390x__2021/* Has to be at least _NSIG_WORDS from asm/signal.h */22#define _SIGCONTEXT_NSIG 6423#define _SIGCONTEXT_NSIG_BPW 3224/* Size of stack frame allocated when calling signal handler. */25#define __SIGNAL_FRAMESIZE 962627#else /* __s390x__ */2829/* Has to be at least _NSIG_WORDS from asm/signal.h */30#define _SIGCONTEXT_NSIG 6431#define _SIGCONTEXT_NSIG_BPW 6432/* Size of stack frame allocated when calling signal handler. */33#define __SIGNAL_FRAMESIZE 1603435#endif /* __s390x__ */3637#define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)38#define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)3940typedef struct41{42unsigned long mask;43unsigned long addr;44} __attribute__ ((aligned(8))) _psw_t;4546typedef struct47{48_psw_t psw;49unsigned long gprs[__NUM_GPRS];50unsigned int acrs[__NUM_ACRS];51} _s390_regs_common;5253typedef struct54{55unsigned int fpc;56unsigned int pad;57double fprs[__NUM_FPRS];58} _s390_fp_regs;5960typedef struct61{62_s390_regs_common regs;63_s390_fp_regs fpregs;64} _sigregs;6566typedef struct67{68#ifndef __s390x__69unsigned long gprs_high[__NUM_GPRS];70#endif71unsigned long long vxrs_low[__NUM_VXRS_LOW];72__vector128 vxrs_high[__NUM_VXRS_HIGH];73unsigned char __reserved[128];74} _sigregs_ext;7576struct sigcontext77{78unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];79_sigregs __user *sregs;80};818283#endif84858687