Merge branches 'x86/tracehook', 'x86/xsave' and 'x86/prototypes' into x86/signal
[linux-2.6.git] / arch / x86 / kernel / sigframe.h
1 #ifdef CONFIG_X86_32
2 struct sigframe {
3         char __user *pretcode;
4         int sig;
5         struct sigcontext sc;
6         /*
7          * fpstate is unused. fpstate is moved/allocated after
8          * retcode[] below. This movement allows to have the FP state and the
9          * future state extensions (xsave) stay together.
10          * And at the same time retaining the unused fpstate, prevents changing
11          * the offset of extramask[] in the sigframe and thus prevent any
12          * legacy application accessing/modifying it.
13          */
14         struct _fpstate fpstate_unused;
15         unsigned long extramask[_NSIG_WORDS-1];
16         char retcode[8];
17         /* fp state follows here */
18 };
19
20 struct rt_sigframe {
21         char __user *pretcode;
22         int sig;
23         struct siginfo __user *pinfo;
24         void __user *puc;
25         struct siginfo info;
26         struct ucontext uc;
27         char retcode[8];
28         /* fp state follows here */
29 };
30 #else
31 struct rt_sigframe {
32         char __user *pretcode;
33         struct ucontext uc;
34         struct siginfo info;
35         /* fp state follows here */
36 };
37 #endif