diff options
Diffstat (limited to 'arch/powerpc/include/uapi/asm/ucontext.h')
| -rw-r--r-- | arch/powerpc/include/uapi/asm/ucontext.h | 40 | 
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/powerpc/include/uapi/asm/ucontext.h b/arch/powerpc/include/uapi/asm/ucontext.h new file mode 100644 index 00000000000..d9a4ddf0cc8 --- /dev/null +++ b/arch/powerpc/include/uapi/asm/ucontext.h @@ -0,0 +1,40 @@ +#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 */  |