summaryrefslogtreecommitdiff
path: root/syscall-i386.h
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-05-08 15:41:15 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-05-08 15:41:15 +0000
commit08fc60898b2dba14f81fd8b7e5143c4d672a2c2c (patch)
tree50507aa8605315b9927dbbba99a8d85ebafbdef3 /syscall-i386.h
parent082391983efbbf95ccecccce13b849926a929c2c (diff)
downloadqemu-08fc60898b2dba14f81fd8b7e5143c4d672a2c2c.tar.gz
more siginfo constants
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@130 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'syscall-i386.h')
-rw-r--r--syscall-i386.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/syscall-i386.h b/syscall-i386.h
index 2d0e91dd39..30e8bc3daa 100644
--- a/syscall-i386.h
+++ b/syscall-i386.h
@@ -445,6 +445,18 @@ typedef struct target_siginfo {
} target_siginfo_t;
/*
+ * si_code values
+ * Digital reserves positive values for kernel-generated signals.
+ */
+#define TARGET_SI_USER 0 /* sent by kill, sigsend, raise */
+#define TARGET_SI_KERNEL 0x80 /* sent by the kernel from somewhere */
+#define TARGET_SI_QUEUE -1 /* sent by sigqueue */
+#define TARGET_SI_TIMER -2 /* sent by timer expiration */
+#define TARGET_SI_MESGQ -3 /* sent by real time mesq state change */
+#define TARGET_SI_ASYNCIO -4 /* sent by AIO completion */
+#define TARGET_SI_SIGIO -5 /* sent by queued SIGIO */
+
+/*
* SIGILL si_codes
*/
#define TARGET_ILL_ILLOPN (2) /* illegal operand */
@@ -462,6 +474,12 @@ typedef struct target_siginfo {
#define TARGET_FPE_FLTSUB (8) /* subscript out of range */
#define TARGET_NSIGFPE 8
+/*
+ * SIGSEGV si_codes
+ */
+#define TARGET_SEGV_MAPERR (1) /* address not mapped to object */
+#define TARGET_SEGV_ACCERR (2) /* invalid permissions for mapped object */
+
/* default linux values for the selectors */
#define __USER_CS (0x23)
#define __USER_DS (0x2B)