Linux 4.13.16
[linux/fpc-iii.git] / arch / powerpc / include / uapi / asm / ucontext.h
blobd9a4ddf0cc8626cb3f8e7c6d6290e792ac0c42a3
1 #ifndef _ASM_POWERPC_UCONTEXT_H
2 #define _ASM_POWERPC_UCONTEXT_H
4 #ifdef __powerpc64__
5 #include <asm/sigcontext.h>
6 #else
7 #include <asm/elf.h>
8 #endif
9 #include <asm/signal.h>
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)));
18 #endif
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
40 #endif /* _ASM_POWERPC_UCONTEXT_H */