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/* Has to be at least _NSIG_WORDS from asm/signal.h */ 16#define _SIGCONTEXT_NSIG 64 17#define _SIGCONTEXT_NSIG_BPW 64 18/* Size of stack frame allocated when calling signal handler. */ 19#define __SIGNAL_FRAMESIZE 160 20#define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW) 21#define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS) 22 23typedef struct 24{ 25 unsigned long mask; 26 unsigned long addr; 27} __attribute__ ((aligned(8))) _psw_t; 28 29typedef struct 30{ 31 _psw_t psw; 32 unsigned long gprs[__NUM_GPRS]; 33 unsigned int acrs[__NUM_ACRS]; 34} _s390_regs_common; 35 36typedef struct 37{ 38 unsigned int fpc; 39 double fprs[__NUM_FPRS]; 40} _s390_fp_regs; 41 42typedef struct 43{ 44 _s390_regs_common regs; 45 _s390_fp_regs fpregs; 46} _sigregs; 47 48struct sigcontext 49{ 50 unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS]; 51 _sigregs *sregs; 52}; 53 54 55#endif 56 57