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