Don't use smaller trapframes. Causes more problems that it's worth right now. CVS: ----------------------------------------------------------------------

This commit is contained in:
eeh 2002-05-16 23:29:42 +00:00
parent d3aa1ab1c4
commit 5f3262977c
2 changed files with 5 additions and 29 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: pcb.h,v 1.8 2002/05/14 02:34:15 eeh Exp $ */ /* $NetBSD: pcb.h,v 1.9 2002/05/16 23:29:42 eeh Exp $ */
/* /*
* Copyright (c) 1996-2002 Eduardo Horvath. All rights reserved. * Copyright (c) 1996-2002 Eduardo Horvath. All rights reserved.
@ -153,8 +153,7 @@ struct md_coredump32 {
}; };
struct md_coredump { struct md_coredump {
/* We'll retain the larger structure for backwards compat. */ struct trapframe64 md_tf;
struct trapframe64_15 md_tf;
struct fpstate64 md_fpstate; struct fpstate64 md_fpstate;
}; };

View File

@ -1,4 +1,4 @@
/* $NetBSD: reg.h,v 1.9 2002/05/14 02:34:15 eeh Exp $ */ /* $NetBSD: reg.h,v 1.10 2002/05/16 23:29:42 eeh Exp $ */
/* /*
* Copyright (c) 1996-2002 Eduardo Horvath. * Copyright (c) 1996-2002 Eduardo Horvath.
@ -71,8 +71,8 @@ struct trapframe32 {
* (The slot tf_global[0] is used to store the %fp when this is used * (The slot tf_global[0] is used to store the %fp when this is used
* as a clockframe. This is known as `cheating'.) * as a clockframe. This is known as `cheating'.)
*/ */
/* The 1.5 version had lots of extra goodies in it. */
struct trapframe64_15 { struct trapframe64 {
int64_t tf_tstate; /* tstate register */ int64_t tf_tstate; /* tstate register */
int64_t tf_pc; /* return pc */ int64_t tf_pc; /* return pc */
int64_t tf_npc; /* return npc */ int64_t tf_npc; /* return npc */
@ -89,29 +89,6 @@ struct trapframe64_15 {
int64_t tf_in[8]; /* in registers in trap's caller (for debug) */ int64_t tf_in[8]; /* in registers in trap's caller (for debug) */
}; };
/*
* The following version does not have the locals or outs so is almost
* half the size of the 1.5 trapframe (160 bytes vs 304 bytes).
*/
struct trapframe64 {
int64_t tf_tstate; /* tstate register */
int64_t tf_pc; /* return pc */
int64_t tf_npc; /* return npc */
/* XXX -- next two fields are unused and should be removed. */
int64_t tf_fault; /* faulting addr -- need somewhere to save it */
int64_t tf_kstack; /* kernel stack of prev tf */
int tf_y; /* %y register -- 32-bits */
short tf_tt; /* What type of trap this was */
char tf_pil; /* What IRQ we're handling */
char tf_oldpil; /* What our old SPL was */
int64_t tf_global[8]; /* global registers in trap's caller */
/* n.b. tf_global[0] is used for fp when this is a clockframe */
int64_t tf_out[8]; /* output registers in trap's caller */
#ifdef DEBUG
int64_t tf_local[8]; /* local registers in trap's caller (for debug) */
int64_t tf_in[8]; /* in registers in trap's caller (for debug) */
#endif
};
/* /*
* Register windows. Each stack pointer (%o6 aka %sp) in each window * Register windows. Each stack pointer (%o6 aka %sp) in each window