Commit | Line | Data |
---|---|---|
1965aae3 PA |
1 | #ifndef _ASM_X86_SIGCONTEXT_H |
2 | #define _ASM_X86_SIGCONTEXT_H | |
77129c5e | 3 | |
af170c50 | 4 | #include <uapi/asm/sigcontext.h> |
bdd8caba | 5 | |
77129c5e | 6 | #ifdef __i386__ |
77129c5e TG |
7 | struct sigcontext { |
8 | unsigned short gs, __gsh; | |
9 | unsigned short fs, __fsh; | |
10 | unsigned short es, __esh; | |
11 | unsigned short ds, __dsh; | |
742fa54a PA |
12 | unsigned long di; |
13 | unsigned long si; | |
14 | unsigned long bp; | |
15 | unsigned long sp; | |
16 | unsigned long bx; | |
17 | unsigned long dx; | |
18 | unsigned long cx; | |
19 | unsigned long ax; | |
77129c5e TG |
20 | unsigned long trapno; |
21 | unsigned long err; | |
742fa54a | 22 | unsigned long ip; |
77129c5e | 23 | unsigned short cs, __csh; |
742fa54a PA |
24 | unsigned long flags; |
25 | unsigned long sp_at_signal; | |
77129c5e | 26 | unsigned short ss, __ssh; |
bdd8caba SS |
27 | |
28 | /* | |
29 | * fpstate is really (struct _fpstate *) or (struct _xstate *) | |
30 | * depending on the FP_XSTATE_MAGIC1 encoded in the SW reserved | |
31 | * bytes of (struct _fpstate) and FP_XSTATE_MAGIC2 present at the end | |
6070d81e | 32 | * of extended memory layout. See comments at the definition of |
bdd8caba SS |
33 | * (struct _fpx_sw_bytes) |
34 | */ | |
35 | void __user *fpstate; /* zero when no FPU/extended context */ | |
77129c5e TG |
36 | unsigned long oldmask; |
37 | unsigned long cr2; | |
38 | }; | |
77129c5e | 39 | #else /* __i386__ */ |
77129c5e TG |
40 | struct sigcontext { |
41 | unsigned long r8; | |
42 | unsigned long r9; | |
43 | unsigned long r10; | |
44 | unsigned long r11; | |
45 | unsigned long r12; | |
46 | unsigned long r13; | |
47 | unsigned long r14; | |
48 | unsigned long r15; | |
742fa54a PA |
49 | unsigned long di; |
50 | unsigned long si; | |
51 | unsigned long bp; | |
52 | unsigned long bx; | |
53 | unsigned long dx; | |
54 | unsigned long ax; | |
55 | unsigned long cx; | |
56 | unsigned long sp; | |
57 | unsigned long ip; | |
58 | unsigned long flags; | |
77129c5e | 59 | unsigned short cs; |
9a036b93 AL |
60 | unsigned short __pad2; /* Was called gs, but was always zero. */ |
61 | unsigned short __pad1; /* Was called fs, but was always zero. */ | |
c6f20629 | 62 | unsigned short ss; |
77129c5e TG |
63 | unsigned long err; |
64 | unsigned long trapno; | |
65 | unsigned long oldmask; | |
66 | unsigned long cr2; | |
bdd8caba SS |
67 | |
68 | /* | |
69 | * fpstate is really (struct _fpstate *) or (struct _xstate *) | |
70 | * depending on the FP_XSTATE_MAGIC1 encoded in the SW reserved | |
71 | * bytes of (struct _fpstate) and FP_XSTATE_MAGIC2 present at the end | |
6070d81e | 72 | * of extended memory layout. See comments at the definition of |
bdd8caba SS |
73 | * (struct _fpx_sw_bytes) |
74 | */ | |
75 | void __user *fpstate; /* zero when no FPU/extended context */ | |
77129c5e TG |
76 | unsigned long reserved1[8]; |
77 | }; | |
77129c5e | 78 | #endif /* !__i386__ */ |
1965aae3 | 79 | #endif /* _ASM_X86_SIGCONTEXT_H */ |