Subject: port-i386/15828: no-fpu i386 machine panic: npxdna vector not initialized
To: None <gnats-bugs@gnats.netbsd.org>
From: None <oki@netbsd.org>
List: netbsd-bugs
Date: 03/07/2002 17:18:08
>Number: 15828
>Category: port-i386
>Synopsis: no-fpu i386 machine panics on -current when running df
>Confidential: no
>Severity: serious
>Priority: low
>Responsible: port-i386-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Mar 07 00:19:00 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:
>Release: NetBSD 1.5ZA 20020307
>Organization:
The PEACE Project
>Environment:
System: NetBSD chiharu.homeip.net 1.5ZA NetBSD 1.5ZA (CHIHARU) #8: Thu Jan 31 10:57:52 JST 2002 oki@chiharu.homeip.net:/usr/src/sys/arch/i386/compile/CHIHARU i386
Architecture: i386
Machine: i386
>Description:
no-fpu i386 (e.g. i486SX) machine panics when running df on -current.
panic message is:
panic: npxdna vector not initialized
The kernel with options MATH_EMULATE are ineffective.
>How-To-Repeat:
run df on -current at no-fpu i386 machine.
>Fix:
Index: npx.c
===================================================================
RCS file: /cvsroot/syssrc/sys/arch/i386/isa/npx.c,v
retrieving revision 1.84
diff -u -r1.84 npx.c
--- npx.c 2002/01/10 03:46:17 1.84
+++ npx.c 2002/03/07 08:05:04
@@ -126,10 +126,16 @@
fnsave(&addr->sv_87);
}
+static enum npx_type npx_type;
+
static int
npxdna_notset(struct proc *p)
{
+ if (npx_type == NPX_NONE) {
+ IPRINTF(("Emul"));
+ return (0);
+ }
panic("npxdna vector not initialized");
}
@@ -143,7 +149,6 @@
struct proc *npxproc;
-static enum npx_type npx_type;
static int npx_nointr;
volatile u_int npx_intrs_while_probing;
volatile u_int npx_traps_while_probing;
>Release-Note:
>Audit-Trail:
>Unformatted: