1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /*
- * include/asm-s390/sigcontext.h
- *
- * S390 version
- * Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
- */
- #ifndef _ASM_S390_SIGCONTEXT_H
- #define _ASM_S390_SIGCONTEXT_H
- #include <linux/compiler.h>
- #define __NUM_GPRS 16
- #define __NUM_FPRS 16
- #define __NUM_ACRS 16
- #ifndef __s390x__
- /* Has to be at least _NSIG_WORDS from asm/signal.h */
- #define _SIGCONTEXT_NSIG 64
- #define _SIGCONTEXT_NSIG_BPW 32
- /* Size of stack frame allocated when calling signal handler. */
- #define __SIGNAL_FRAMESIZE 96
- #else /* __s390x__ */
- /* Has to be at least _NSIG_WORDS from asm/signal.h */
- #define _SIGCONTEXT_NSIG 64
- #define _SIGCONTEXT_NSIG_BPW 64
- /* Size of stack frame allocated when calling signal handler. */
- #define __SIGNAL_FRAMESIZE 160
- #endif /* __s390x__ */
- #define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)
- #define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)
- typedef struct
- {
- unsigned long mask;
- unsigned long addr;
- } __attribute__ ((aligned(8))) _psw_t;
- typedef struct
- {
- _psw_t psw;
- unsigned long gprs[__NUM_GPRS];
- unsigned int acrs[__NUM_ACRS];
- } _s390_regs_common;
- typedef struct
- {
- unsigned int fpc;
- double fprs[__NUM_FPRS];
- } _s390_fp_regs;
- typedef struct
- {
- _s390_regs_common regs;
- _s390_fp_regs fpregs;
- } _sigregs;
- struct sigcontext
- {
- unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];
- _sigregs __user *sregs;
- };
- #endif
|