Increased the double fault stack size from 512 to PAGE_SIZE. This is

wasteful, but better than clobbering the variables below the stack.
About 300 bytes of variables were clobbered when I examined double
faults using ddb.  Perhaps a page that is known not to be accessed by
the double fault handler could be used.  Such pages are not easy to
find, since the double fault handler calls panic() which calls sync()
and possibly dumpsys().
This commit is contained in:
Bruce Evans 1995-12-22 18:17:34 +00:00
parent 0772e1c90b
commit 02f90f3b3c
2 changed files with 4 additions and 4 deletions

View File

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)machdep.c 7.4 (Berkeley) 6/3/91
* $Id: machdep.c,v 1.160 1995/12/16 18:52:08 peter Exp $
* $Id: machdep.c,v 1.161 1995/12/19 14:30:26 davidg Exp $
*/
#include "npx.h"
@ -1068,7 +1068,7 @@ struct gate_descriptor idt[NIDT]; /* interrupt descriptor table */
union descriptor ldt[NLDT]; /* local descriptor table */
static struct i386tss dblfault_tss;
static char dblfault_stack[512];
static char dblfault_stack[PAGE_SIZE];
extern struct user *proc0paddr;

View File

@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)machdep.c 7.4 (Berkeley) 6/3/91
* $Id: machdep.c,v 1.160 1995/12/16 18:52:08 peter Exp $
* $Id: machdep.c,v 1.161 1995/12/19 14:30:26 davidg Exp $
*/
#include "npx.h"
@ -1068,7 +1068,7 @@ struct gate_descriptor idt[NIDT]; /* interrupt descriptor table */
union descriptor ldt[NLDT]; /* local descriptor table */
static struct i386tss dblfault_tss;
static char dblfault_stack[512];
static char dblfault_stack[PAGE_SIZE];
extern struct user *proc0paddr;