Module Name: src
Committed By: matt
Date: Fri Feb 28 05:30:24 UTC 2014
Modified Files:
src/sys/arch/powerpc/include: frame.h
Log Message:
Add trapframe32 for COMPAT_NETBSD32
To generate a diff of this commit:
cvs rdiff -u -r1.25 -r1.26 src/sys/arch/powerpc/include/frame.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/powerpc/include/frame.h
diff -u src/sys/arch/powerpc/include/frame.h:1.25 src/sys/arch/powerpc/include/frame.h:1.26
--- src/sys/arch/powerpc/include/frame.h:1.25 Wed Aug 1 16:19:42 2012
+++ src/sys/arch/powerpc/include/frame.h Fri Feb 28 05:30:24 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: frame.h,v 1.25 2012/08/01 16:19:42 matt Exp $ */
+/* $NetBSD: frame.h,v 1.26 2014/02/28 05:30:24 matt Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -59,6 +59,16 @@ struct reg_sans_pc {
register_t r_ctr;
};
+#ifdef _LP64
+struct reg_sans_pc32 {
+ register32_t r_fixreg[32];
+ register32_t r_lr;
+ uint32_t r_cr;
+ uint32_t r_xer;
+ register32_t r_ctr;
+};
+#endif
+
struct utrapframe {
register_t fixreg[32];
register_t lr;
@@ -78,6 +88,14 @@ struct clockframe {
int cf_idepth;
};
+#ifdef _LP64
+struct clockframe32 {
+ register32_t cf_srr0;
+ register32_t cf_srr1;
+ int cf_idepth;
+};
+#endif
+
struct trapframe {
struct reg_sans_pc tf_ureg;
struct clockframe tf_cf;
@@ -100,6 +118,31 @@ struct trapframe {
uint32_t tf_spefscr;
#endif
};
+
+#ifdef _LP64
+struct trapframe32 {
+ struct reg_sans_pc32 tf_ureg;
+ struct clockframe32 tf_cf;
+ uint32_t tf_exc;
+#if defined(PPC_OEA) || defined(PPC_OEA64) || defined(PPC_OEA64_BRIDGE)
+ register32_t tf_dar;
+ register32_t tf_pad0[2];
+ uint32_t tf_dsisr;
+ uint32_t tf_vrsave;
+ uint32_t tf_mq;
+ uint32_t tf_pad1[1];
+#endif
+#if defined(PPC_BOOKE) || defined(PPC_IBM4XX)
+ register32_t tf_dear;
+ register32_t tf_mcar;
+ register32_t tf_sprg1;
+ uint32_t tf_esr;
+ uint32_t tf_mcsr;
+ uint32_t tf_pid;
+ uint32_t tf_spefscr;
+#endif
+};
+#endif /* _LP64 */
#define tf_fixreg tf_ureg.r_fixreg
#define tf_lr tf_ureg.r_lr
#define tf_cr tf_ureg.r_cr