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 */
41