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__ 12struct 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 20struct 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