[issue1612] panic: npxintr from nowhere

bleader (via DragonFly issue tracker) sinknull at leaf.dragonflybsd.org
Wed Nov 25 02:21:09 PST 2009


bleader <bleader at ratonland.org> added the comment:

polachok provided a patch (attached) and generated a new iso for me to test.

It seems to have resolved the issue.

-- snip --
npx0: <math processor> on motherboard
npx0: INT 16 interface
-- snip --

_____________________________________________________
DragonFly issue tracker <bugs at lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue1612>
_____________________________________________________diff --git a/sys/platform/pc32/isa/npx.c b/sys/platform/pc32/isa/npx.c
index 6f99b4f..f8b7951 100644
--- a/sys/platform/pc32/isa/npx.c
+++ b/sys/platform/pc32/isa/npx.c
@@ -321,6 +321,16 @@ npx_probe1(device_t dev)
 
 #else /* !SMP */
 	device_set_desc(dev, "math processor");
+	/*
+	 * Modern CPUs all have an FPU that uses the INT16 interface
+	 * and provide a simple way to verify that, so handle the
+	 * common case right away.
+	 */
+	if (cpu_feature & CPUID_FPU) {
+		npx_irq13 = 0;
+		npx_ex16 = hw_float = npx_exists = 1;
+		return (0);
+	}
 
 	/*
 	 * Don't use fwait here because it might hang.




More information about the Bugs mailing list