Merge branch 'turbostat' of https://git.kernel.org/pub/scm/linux/kernel/git/lenb...
[deliverable/linux.git] / arch / x86 / include / asm / sigcontext.h
1 #ifndef _ASM_X86_SIGCONTEXT_H
2 #define _ASM_X86_SIGCONTEXT_H
3
4 #include <uapi/asm/sigcontext.h>
5
6 #ifdef __i386__
7 struct sigcontext {
8 unsigned short gs, __gsh;
9 unsigned short fs, __fsh;
10 unsigned short es, __esh;
11 unsigned short ds, __dsh;
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;
20 unsigned long trapno;
21 unsigned long err;
22 unsigned long ip;
23 unsigned short cs, __csh;
24 unsigned long flags;
25 unsigned long sp_at_signal;
26 unsigned short ss, __ssh;
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
32 * of extended memory layout. See comments at the definition of
33 * (struct _fpx_sw_bytes)
34 */
35 void __user *fpstate; /* zero when no FPU/extended context */
36 unsigned long oldmask;
37 unsigned long cr2;
38 };
39 #else /* __i386__ */
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;
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;
59 unsigned short cs;
60 unsigned short __pad2; /* Was called gs, but was always zero. */
61 unsigned short __pad1; /* Was called fs, but was always zero. */
62 unsigned short ss;
63 unsigned long err;
64 unsigned long trapno;
65 unsigned long oldmask;
66 unsigned long cr2;
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
72 * of extended memory layout. See comments at the definition of
73 * (struct _fpx_sw_bytes)
74 */
75 void __user *fpstate; /* zero when no FPU/extended context */
76 unsigned long reserved1[8];
77 };
78 #endif /* !__i386__ */
79 #endif /* _ASM_X86_SIGCONTEXT_H */
This page took 0.031973 seconds and 5 git commands to generate.