summaryrefslogtreecommitdiff
path: root/sys/arch/powerpc/include
diff options
context:
space:
mode:
authormatt <matt@NetBSD.org>2003-08-27 20:20:07 +0000
committermatt <matt@NetBSD.org>2003-08-27 20:20:07 +0000
commit31cc6ab700b7d2fa8b97ff9f7d8a485a84ab486e (patch)
tree725931e8c30825bc6765d1ee0473cbc67d0529ab /sys/arch/powerpc/include
parent922a27ed299f048de97516dabe4d133035ccfe89 (diff)
Move SFRAMELEN to frame.h and use it in vm_machdep.c. In setfunc, setup
callframe linkages correctly. Restore use of ldptr to locore_subr.S [pthreads and gdb no longer crash/hang the system]
Diffstat (limited to 'sys/arch/powerpc/include')
-rw-r--r--sys/arch/powerpc/include/frame.h28
1 files changed, 6 insertions, 22 deletions
diff --git a/sys/arch/powerpc/include/frame.h b/sys/arch/powerpc/include/frame.h
index 205fe9e587b..54f2e52c87e 100644
--- a/sys/arch/powerpc/include/frame.h
+++ b/sys/arch/powerpc/include/frame.h
@@ -1,4 +1,4 @@
-/* $NetBSD: frame.h,v 1.16 2003/08/12 18:34:48 matt Exp $ */
+/* $NetBSD: frame.h,v 1.17 2003/08/27 20:20:08 matt Exp $ */
/*
* Copyright (C) 1995, 1996 Wolfgang Solfrank.
@@ -99,14 +99,15 @@ struct utrapframe32 {
/*
* This is to ensure alignment of the stackpointer
*/
-#define FRAMELEN roundup(sizeof(struct trapframe) + 8, CALLFRAMELEN)
-#define trapframe(l) ((struct trapframe *)((char *)(l)->l_addr + USPACE - FRAMELEN + 8))
+#define FRAMELEN roundup(sizeof(struct trapframe) + 2*sizeof(register_t), CALLFRAMELEN)
+#define trapframe(l) ((struct trapframe *)((char *)(l)->l_addr + USPACE - FRAMELEN + 2*sizeof(register_t)))
+#define SFRAMELEN roundup(sizeof(struct switchframe), CALLFRAMELEN)
struct switchframe {
register_t sp;
register_t lr;
- register_t user_sr; /* VSID on IBM4XX */
- register_t cr;
+ register_t user_sr; /* VSID on IBM4XX */
+ register_t cr; /* why? CR is volatile. */
register_t fixreg2;
register_t fixreg[19]; /* R13-R31 */
};
@@ -164,21 +165,4 @@ struct intrframe {
register_t r0; /* 84 */
};
-#define SPFRAMELEN sizeof(struct spillframe)
-struct spillframe {
- register_t r1; /* 0 */
- register_t _pad4; /* 4 */
- register_t r12; /* 8 */
- register_t r11; /* 12 */
- register_t r10; /* 16 */
- register_t r9; /* 20 */
- register_t r8; /* 24 */
- register_t r7; /* 28 */
- register_t r6; /* 32 */
- register_t r5; /* 36 */
- register_t r4; /* 40 */
- register_t r3; /* 44 */
- register_t r0; /* 48 */
-};
-
#endif /* _POWERPC_FRAME_H_ */