summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/include/ucontext.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/powerpc/include/ucontext.h')
-rw-r--r--sys/powerpc/include/ucontext.h17
1 files changed, 16 insertions, 1 deletions
diff --git a/sys/powerpc/include/ucontext.h b/sys/powerpc/include/ucontext.h
index 58b6a80..23b3ab4 100644
--- a/sys/powerpc/include/ucontext.h
+++ b/sys/powerpc/include/ucontext.h
@@ -44,10 +44,25 @@ typedef struct __mcontext {
int mc_len; /* sizeof(__mcontext) */
uint64_t mc_avec[32*2]; /* vector register file */
uint32_t mc_av[2];
- uint32_t mc_frame[41];
+ register_t mc_frame[42];
uint64_t mc_fpreg[33];
} mcontext_t __aligned(16);
+#if defined(_KERNEL) && defined(__powerpc64__)
+typedef struct __mcontext32 {
+ int mc_vers;
+ int mc_flags;
+#define _MC_FP_VALID 0x01
+#define _MC_AV_VALID 0x02
+ int mc_onstack; /* saved onstack flag */
+ int mc_len; /* sizeof(__mcontext) */
+ uint64_t mc_avec[32*2]; /* vector register file */
+ uint32_t mc_av[2];
+ uint32_t mc_frame[42];
+ uint64_t mc_fpreg[33];
+} mcontext32_t __aligned(16);
+#endif
+
/* GPRs and supervisor-level regs */
#define mc_gpr mc_frame
#define mc_lr mc_frame[32]
OpenPOWER on IntegriCloud