aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-s390/sigcontext.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-16 18:20:36 -0400
commit1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 (patch)
tree0bba044c4ce775e45a88a51686b5d9f90697ea9d /include/asm-s390/sigcontext.h
Linux-2.6.12-rc2v2.6.12-rc2
Initial git repository build. I'm not bothering with the full history, even though we have it. We can create a separate "historical" git archive of that later if we want to, and in the meantime it's about 3.2GB when imported into git - space that would just make the early git days unnecessarily complicated, when we don't have a lot of good infrastructure for it. Let it rip!
Diffstat (limited to 'include/asm-s390/sigcontext.h')
-rw-r--r--include/asm-s390/sigcontext.h69
1 files changed, 69 insertions, 0 deletions
diff --git a/include/asm-s390/sigcontext.h b/include/asm-s390/sigcontext.h
new file mode 100644
index 000000000000..d57bc0cebdce
--- /dev/null
+++ b/include/asm-s390/sigcontext.h
@@ -0,0 +1,69 @@
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#ifndef __s390x__
16
17/* Has to be at least _NSIG_WORDS from asm/signal.h */
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
23#else /* __s390x__ */
24
25/* Has to be at least _NSIG_WORDS from asm/signal.h */
26#define _SIGCONTEXT_NSIG 64
27#define _SIGCONTEXT_NSIG_BPW 64
28/* Size of stack frame allocated when calling signal handler. */
29#define __SIGNAL_FRAMESIZE 160
30
31#endif /* __s390x__ */
32
33#define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW)
34#define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS)
35
36typedef struct
37{
38 unsigned long mask;
39 unsigned long addr;
40} __attribute__ ((aligned(8))) _psw_t;
41
42typedef struct
43{
44 _psw_t psw;
45 unsigned long gprs[__NUM_GPRS];
46 unsigned int acrs[__NUM_ACRS];
47} _s390_regs_common;
48
49typedef struct
50{
51 unsigned int fpc;
52 double fprs[__NUM_FPRS];
53} _s390_fp_regs;
54
55typedef struct
56{
57 _s390_regs_common regs;
58 _s390_fp_regs fpregs;
59} _sigregs;
60
61struct sigcontext
62{
63 unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS];
64 _sigregs *sregs;
65};
66
67
68#endif
69