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 25typedef struct 26{ 27 unsigned long mask; 28 unsigned long addr; 29} __attribute__ ((aligned(8))) _psw_t; 30 31typedef struct 32{ 33 _psw_t psw; 34 unsigned long gprs[__NUM_GPRS]; 35 unsigned int acrs[__NUM_ACRS]; 36} _s390_regs_common; 37 38typedef struct 39{ 40 unsigned int fpc; 41 double fprs[__NUM_FPRS]; 42} _s390_fp_regs; 43 44typedef struct 45{ 46 _s390_regs_common regs; 47 _s390_fp_regs fpregs; 48} _sigregs; 49 50struct sigcontext 51{ 52 unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS]; 53 _sigregs *sregs; 54}; 55 56 57#endif 58 59