|  | /* | 
|  | *  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 | 
|  |  |