aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/sys-i386/sysdep/sigcontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/sys-i386/sysdep/sigcontext.h')
-rw-r--r--arch/um/sys-i386/sysdep/sigcontext.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/arch/um/sys-i386/sysdep/sigcontext.h b/arch/um/sys-i386/sysdep/sigcontext.h
new file mode 100644
index 000000000000..f583c87111a0
--- /dev/null
+++ b/arch/um/sys-i386/sysdep/sigcontext.h
@@ -0,0 +1,26 @@
1/*
2 * Copyright (C) 2000 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
3 * Licensed under the GPL
4 */
5
6#ifndef __SYS_SIGCONTEXT_I386_H
7#define __SYS_SIGCONTEXT_I386_H
8
9#include "sysdep/sc.h"
10
11#define IP_RESTART_SYSCALL(ip) ((ip) -= 2)
12
13#define GET_FAULTINFO_FROM_SC(fi, sc) \
14 { \
15 (fi).cr2 = SC_CR2(sc); \
16 (fi).error_code = SC_ERR(sc); \
17 (fi).trap_no = SC_TRAPNO(sc); \
18 }
19
20/* This is Page Fault */
21#define SEGV_IS_FIXABLE(fi) ((fi)->trap_no == 14)
22
23/* SKAS3 has no trap_no on i386, but get_skas_faultinfo() sets it to 0. */
24#define SEGV_MAYBE_FIXABLE(fi) ((fi)->trap_no == 0 && ptrace_faultinfo)
25
26#endif