aboutsummaryrefslogtreecommitdiffstats
path: root/arch/um/include/sysdep-i386/sigcontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/um/include/sysdep-i386/sigcontext.h')
-rw-r--r--arch/um/include/sysdep-i386/sigcontext.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/arch/um/include/sysdep-i386/sigcontext.h b/arch/um/include/sysdep-i386/sigcontext.h
index 1fe729265167..23fd2644d7ed 100644
--- a/arch/um/include/sysdep-i386/sigcontext.h
+++ b/arch/um/include/sysdep-i386/sigcontext.h
@@ -6,6 +6,7 @@
6#ifndef __SYS_SIGCONTEXT_I386_H 6#ifndef __SYS_SIGCONTEXT_I386_H
7#define __SYS_SIGCONTEXT_I386_H 7#define __SYS_SIGCONTEXT_I386_H
8 8
9#include "uml-config.h"
9#include <sysdep/sc.h> 10#include <sysdep/sc.h>
10 11
11#define IP_RESTART_SYSCALL(ip) ((ip) -= 2) 12#define IP_RESTART_SYSCALL(ip) ((ip) -= 2)
@@ -26,7 +27,14 @@
26#define SC_START_SYSCALL(sc) do SC_EAX(sc) = -ENOSYS; while(0) 27#define SC_START_SYSCALL(sc) do SC_EAX(sc) = -ENOSYS; while(0)
27 28
28/* This is Page Fault */ 29/* This is Page Fault */
29#define SEGV_IS_FIXABLE(fi) ((fi)->trap_no == 14) 30#define SEGV_IS_FIXABLE(fi) ((fi)->trap_no == 14)
31
32/* SKAS3 has no trap_no on i386, but get_skas_faultinfo() sets it to 0. */
33#ifdef UML_CONFIG_MODE_SKAS
34#define SEGV_MAYBE_FIXABLE(fi) ((fi)->trap_no == 0 && ptrace_faultinfo)
35#else
36#define SEGV_MAYBE_FIXABLE(fi) 0
37#endif
30 38
31extern unsigned long *sc_sigmask(void *sc_ptr); 39extern unsigned long *sc_sigmask(void *sc_ptr);
32extern int sc_get_fpregs(unsigned long buf, void *sc_ptr); 40extern int sc_get_fpregs(unsigned long buf, void *sc_ptr);