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