|  | #ifndef _ASM_POWERPC_UCONTEXT_H | 
|  | #define _ASM_POWERPC_UCONTEXT_H | 
|  |  | 
|  | #ifdef __powerpc64__ | 
|  | #include <asm/sigcontext.h> | 
|  | #else | 
|  | #include <asm/elf.h> | 
|  | #endif | 
|  | #include <asm/signal.h> | 
|  |  | 
|  | #ifndef __powerpc64__ | 
|  | struct mcontext { | 
|  | elf_gregset_t	mc_gregs; | 
|  | elf_fpregset_t	mc_fregs; | 
|  | unsigned long	mc_pad[2]; | 
|  | elf_vrregset_t	mc_vregs __attribute__((__aligned__(16))); | 
|  | }; | 
|  | #endif | 
|  |  | 
|  | struct ucontext { | 
|  | unsigned long	uc_flags; | 
|  | struct ucontext __user *uc_link; | 
|  | stack_t		uc_stack; | 
|  | #ifndef __powerpc64__ | 
|  | int		uc_pad[7]; | 
|  | struct mcontext	__user *uc_regs;/* points to uc_mcontext field */ | 
|  | #endif | 
|  | sigset_t	uc_sigmask; | 
|  | /* glibc has 1024-bit signal masks, ours are 64-bit */ | 
|  | #ifdef __powerpc64__ | 
|  | sigset_t	__unused[15];	/* Allow for uc_sigmask growth */ | 
|  | struct sigcontext uc_mcontext;	/* last for extensibility */ | 
|  | #else | 
|  | int		uc_maskext[30]; | 
|  | int		uc_pad2[3]; | 
|  | struct mcontext	uc_mcontext; | 
|  | #endif | 
|  | }; | 
|  |  | 
|  | #endif /* _ASM_POWERPC_UCONTEXT_H */ |