1 /* 2 * include/asm-s390/sigcontext.h 3 * 4 * S390 version 5 * Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation 6 */ 7 8 #ifndef _ASM_S390_SIGCONTEXT_H 9 #define _ASM_S390_SIGCONTEXT_H 10 11 #define __NUM_GPRS 16 12 #define __NUM_FPRS 16 13 #define __NUM_ACRS 16 14 15 /* 16 Has to be at least _NSIG_WORDS from asm/signal.h 17 */ 18 #define _SIGCONTEXT_NSIG 64 19 #define _SIGCONTEXT_NSIG_BPW 32 20 /* Size of stack frame allocated when calling signal handler. */ 21 #define __SIGNAL_FRAMESIZE 96 22 #define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW) 23 #define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS) 24 25 typedef struct 26 { 27 unsigned long mask; 28 unsigned long addr; 29 } __attribute__ ((aligned(8))) _psw_t; 30 31 typedef struct 32 { 33 _psw_t psw; 34 unsigned long gprs[__NUM_GPRS]; 35 unsigned int acrs[__NUM_ACRS]; 36 } _s390_regs_common; 37 38 typedef struct 39 { 40 unsigned int fpc; 41 double fprs[__NUM_FPRS]; 42 } _s390_fp_regs; 43 44 typedef struct 45 { 46 _s390_regs_common regs; 47 _s390_fp_regs fpregs; 48 } _sigregs; 49 50 struct sigcontext 51 { 52 unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS]; 53 _sigregs *sregs; 54 }; 55 56 57 #endif 58 59