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