summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1997-04-14 13:52:52 +0000
committerbde <bde@FreeBSD.org>1997-04-14 13:52:52 +0000
commit880c5c361f77263354c83d5df9c8a4f987372672 (patch)
treef382c59732d76d362ff1d278acddf8d8b7c8c6f3 /sys
parent82f16b75fb4134ab58a96fb0d715280a729a237b (diff)
downloadFreeBSD-src-880c5c361f77263354c83d5df9c8a4f987372672.zip
FreeBSD-src-880c5c361f77263354c83d5df9c8a4f987372672.tar.gz
Fixed printing of registers in dbflalt_handler(). The registers
were always in a tss; that tss just changed from the one in the pcb to common_tss (who knows where it was when there was no curpcb?). Not using the pcb also fixed the problem that there is no pcb in idle(), so we now always get useful register values.
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/amd64/trap.c16
-rw-r--r--sys/i386/i386/trap.c16
-rw-r--r--sys/kern/subr_trap.c16
3 files changed, 21 insertions, 27 deletions
diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c
index 2024c6b..8a86965 100644
--- a/sys/amd64/amd64/trap.c
+++ b/sys/amd64/amd64/trap.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
- * $Id: trap.c,v 1.90 1997/04/07 06:45:15 peter Exp $
+ * $Id: trap.c,v 1.91 1997/04/07 07:15:55 peter Exp $
*/
/*
@@ -85,6 +85,8 @@
#include "isa.h"
#include "npx.h"
+extern struct i386tss common_tss;
+
int (*pmath_emulate) __P((struct trapframe *));
extern void trap __P((struct trapframe frame));
@@ -759,15 +761,11 @@ trap_fatal(frame)
void
dblfault_handler()
{
- struct pcb *pcb = curpcb;
-
- if (pcb != NULL) {
- printf("\nFatal double fault:\n");
- printf("eip = 0x%x\n", pcb->pcb_eip);
- printf("esp = 0x%x\n", pcb->pcb_esp);
- printf("ebp = 0x%x\n", pcb->pcb_ebp);
- }
+ printf("\nFatal double fault:\n");
+ printf("eip = 0x%x\n", common_tss.tss_eip);
+ printf("esp = 0x%x\n", common_tss.tss_esp);
+ printf("ebp = 0x%x\n", common_tss.tss_ebp);
panic("double fault");
}
diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c
index 2024c6b..8a86965 100644
--- a/sys/i386/i386/trap.c
+++ b/sys/i386/i386/trap.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
- * $Id: trap.c,v 1.90 1997/04/07 06:45:15 peter Exp $
+ * $Id: trap.c,v 1.91 1997/04/07 07:15:55 peter Exp $
*/
/*
@@ -85,6 +85,8 @@
#include "isa.h"
#include "npx.h"
+extern struct i386tss common_tss;
+
int (*pmath_emulate) __P((struct trapframe *));
extern void trap __P((struct trapframe frame));
@@ -759,15 +761,11 @@ trap_fatal(frame)
void
dblfault_handler()
{
- struct pcb *pcb = curpcb;
-
- if (pcb != NULL) {
- printf("\nFatal double fault:\n");
- printf("eip = 0x%x\n", pcb->pcb_eip);
- printf("esp = 0x%x\n", pcb->pcb_esp);
- printf("ebp = 0x%x\n", pcb->pcb_ebp);
- }
+ printf("\nFatal double fault:\n");
+ printf("eip = 0x%x\n", common_tss.tss_eip);
+ printf("esp = 0x%x\n", common_tss.tss_esp);
+ printf("ebp = 0x%x\n", common_tss.tss_ebp);
panic("double fault");
}
diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c
index 2024c6b..8a86965 100644
--- a/sys/kern/subr_trap.c
+++ b/sys/kern/subr_trap.c
@@ -35,7 +35,7 @@
* SUCH DAMAGE.
*
* from: @(#)trap.c 7.4 (Berkeley) 5/13/91
- * $Id: trap.c,v 1.90 1997/04/07 06:45:15 peter Exp $
+ * $Id: trap.c,v 1.91 1997/04/07 07:15:55 peter Exp $
*/
/*
@@ -85,6 +85,8 @@
#include "isa.h"
#include "npx.h"
+extern struct i386tss common_tss;
+
int (*pmath_emulate) __P((struct trapframe *));
extern void trap __P((struct trapframe frame));
@@ -759,15 +761,11 @@ trap_fatal(frame)
void
dblfault_handler()
{
- struct pcb *pcb = curpcb;
-
- if (pcb != NULL) {
- printf("\nFatal double fault:\n");
- printf("eip = 0x%x\n", pcb->pcb_eip);
- printf("esp = 0x%x\n", pcb->pcb_esp);
- printf("ebp = 0x%x\n", pcb->pcb_ebp);
- }
+ printf("\nFatal double fault:\n");
+ printf("eip = 0x%x\n", common_tss.tss_eip);
+ printf("esp = 0x%x\n", common_tss.tss_esp);
+ printf("ebp = 0x%x\n", common_tss.tss_ebp);
panic("double fault");
}
OpenPOWER on IntegriCloud