summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/uapi/asm/ucontext.h
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-10-13 11:21:15 +0900
committerLinus Torvalds <torvalds@linux-foundation.org>2012-10-13 11:21:15 +0900
commitb6897130f0ac8ac33043be736770eb5f58164044 (patch)
treec922f449e0ba26e225795684f2ef46954406c7c0 /arch/powerpc/include/uapi/asm/ucontext.h
parentb4fe19f78e84813e720d0f0482da22194a7728e3 (diff)
parentfd3bc66f1dd5d062b5f0a7afc90c69d8da5b42db (diff)
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Pull powerpc uapi disintegration from Benjamin Herrenschmidt. * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: UAPI: (Scripted) Disintegrate arch/powerpc/include/asm
Diffstat (limited to 'arch/powerpc/include/uapi/asm/ucontext.h')
-rw-r--r--arch/powerpc/include/uapi/asm/ucontext.h40
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 */