| Stephen Rothwell | 5adb83c | 2005-11-03 16:59:17 +1100 | [diff] [blame] | 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 */ |