ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.6.tar.bz2
[linux-2.6.git] / include / asm-s390 / siginfo.h
1 /*
2  *  include/asm-s390/siginfo.h
3  *
4  *  S390 version
5  *
6  *  Derived from "include/asm-i386/siginfo.h"
7  */
8
9 #ifndef _S390_SIGINFO_H
10 #define _S390_SIGINFO_H
11
12 #define HAVE_ARCH_SI_CODES
13 #ifdef __s390x__
14 #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
15 #endif
16
17 #ifdef CONFIG_ARCH_S390X
18 #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 4)
19 #else
20 #define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE/sizeof(int)) - 3)
21 #endif
22
23 #include <asm-generic/siginfo.h>
24
25 /*
26  * SIGILL si_codes
27  */
28 #define ILL_ILLOPC      (__SI_FAULT|1)  /* illegal opcode */
29 #define ILL_ILLOPN      (__SI_FAULT|2)  /* illegal operand */
30 #define ILL_ILLADR      (__SI_FAULT|3)  /* illegal addressing mode */
31 #define ILL_ILLTRP      (__SI_FAULT|4)  /* illegal trap */
32 #define ILL_PRVOPC      (__SI_FAULT|5)  /* privileged opcode */
33 #define ILL_PRVREG      (__SI_FAULT|6)  /* privileged register */
34 #define ILL_COPROC      (__SI_FAULT|7)  /* coprocessor error */
35 #define ILL_BADSTK      (__SI_FAULT|8)  /* internal stack error */
36 #define NSIGILL         8
37
38 /*
39  * SIGFPE si_codes
40  */
41 #define FPE_INTDIV      (__SI_FAULT|1)  /* integer divide by zero */
42 #define FPE_INTOVF      (__SI_FAULT|2)  /* integer overflow */
43 #define FPE_FLTDIV      (__SI_FAULT|3)  /* floating point divide by zero */
44 #define FPE_FLTOVF      (__SI_FAULT|4)  /* floating point overflow */
45 #define FPE_FLTUND      (__SI_FAULT|5)  /* floating point underflow */
46 #define FPE_FLTRES      (__SI_FAULT|6)  /* floating point inexact result */
47 #define FPE_FLTINV      (__SI_FAULT|7)  /* floating point invalid operation */
48 #define FPE_FLTSUB      (__SI_FAULT|8)  /* subscript out of range */
49 #define NSIGFPE         8
50
51 /*
52  * SIGSEGV si_codes
53  */
54 #define SEGV_MAPERR     (__SI_FAULT|1)  /* address not mapped to object */
55 #define SEGV_ACCERR     (__SI_FAULT|2)  /* invalid permissions for mapped object */
56 #define NSIGSEGV        2
57
58 /*
59  * SIGBUS si_codes
60  */
61 #define BUS_ADRALN      (__SI_FAULT|1)  /* invalid address alignment */
62 #define BUS_ADRERR      (__SI_FAULT|2)  /* non-existant physical address */
63 #define BUS_OBJERR      (__SI_FAULT|3)  /* object specific hardware error */
64 #define NSIGBUS         3
65
66 /*
67  * SIGTRAP si_codes
68  */
69 #define TRAP_BRKPT      (__SI_FAULT|1)  /* process breakpoint */
70 #define TRAP_TRACE      (__SI_FAULT|2)  /* process trace trap */
71 #define NSIGTRAP        2
72
73 /*
74  * SIGCHLD si_codes
75  */
76 #define CLD_EXITED      (__SI_CHLD|1)   /* child has exited */
77 #define CLD_KILLED      (__SI_CHLD|2)   /* child was killed */
78 #define CLD_DUMPED      (__SI_CHLD|3)   /* child terminated abnormally */
79 #define CLD_TRAPPED     (__SI_CHLD|4)   /* traced child has trapped */
80 #define CLD_STOPPED     (__SI_CHLD|5)   /* child has stopped */
81 #define CLD_CONTINUED   (__SI_CHLD|6)   /* stopped child has continued */
82 #define NSIGCHLD        6
83
84 /*
85  * SIGPOLL si_codes
86  */
87 #define POLL_IN         (__SI_POLL|1)   /* data input available */
88 #define POLL_OUT        (__SI_POLL|2)   /* output buffers available */
89 #define POLL_MSG        (__SI_POLL|3)   /* input message available */
90 #define POLL_ERR        (__SI_POLL|4)   /* i/o error */
91 #define POLL_PRI        (__SI_POLL|5)   /* high priority input available */
92 #define POLL_HUP        (__SI_POLL|6)   /* device disconnected */
93 #define NSIGPOLL        6
94
95 #endif