Merge git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
[linux-2.6] / include / asm-powerpc / ucontext.h
1 #ifndef _ASM_POWERPC_UCONTEXT_H
2 #define _ASM_POWERPC_UCONTEXT_H
3
4 #ifdef __powerpc64__
5 #include <asm/sigcontext.h>
6 #else
7 #include <asm/elf.h>
8 #endif
9 #include <asm/signal.h>
10
11 #ifndef __powerpc64__
12 struct mcontext {
13         elf_gregset_t   mc_gregs;
14         elf_fpregset_t  mc_fregs;
15         unsigned long   mc_pad[2];
16         elf_vrregset_t  mc_vregs __attribute__((__aligned__(16)));
17 };
18 #endif
19
20 struct ucontext {
21         unsigned long   uc_flags;
22         struct ucontext __user *uc_link;
23         stack_t         uc_stack;
24 #ifndef __powerpc64__
25         int             uc_pad[7];
26         struct mcontext __user *uc_regs;/* points to uc_mcontext field */
27 #endif
28         sigset_t        uc_sigmask;
29         /* glibc has 1024-bit signal masks, ours are 64-bit */
30 #ifdef __powerpc64__
31         sigset_t        __unused[15];   /* Allow for uc_sigmask growth */
32         struct sigcontext uc_mcontext;  /* last for extensibility */
33 #else
34         int             uc_maskext[30];
35         int             uc_pad2[3];
36         struct mcontext uc_mcontext;
37 #endif
38 };
39
40 #endif /* _ASM_POWERPC_UCONTEXT_H */