diff options
Diffstat (limited to 'arch/um/sys-i386/shared/sysdep/sigcontext.h')
-rw-r--r-- | arch/um/sys-i386/shared/sysdep/sigcontext.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/um/sys-i386/shared/sysdep/sigcontext.h b/arch/um/sys-i386/shared/sysdep/sigcontext.h index f583c87111a0..382786436194 100644 --- a/arch/um/sys-i386/shared/sysdep/sigcontext.h +++ b/arch/um/sys-i386/shared/sysdep/sigcontext.h @@ -6,10 +6,17 @@ #ifndef __SYS_SIGCONTEXT_I386_H #define __SYS_SIGCONTEXT_I386_H -#include "sysdep/sc.h" +#include <generated/user_constants.h> #define IP_RESTART_SYSCALL(ip) ((ip) -= 2) +#define SC_OFFSET(sc, field) \ + *((unsigned long *) &(((char *) (sc))[HOST_##field])) + +#define SC_TRAPNO(sc) SC_OFFSET(sc, SC_TRAPNO) +#define SC_ERR(sc) SC_OFFSET(sc, SC_ERR) +#define SC_CR2(sc) SC_OFFSET(sc, SC_CR2) + #define GET_FAULTINFO_FROM_SC(fi, sc) \ { \ (fi).cr2 = SC_CR2(sc); \ |