DragonFly BSD
DragonFly bugs List (threaded) for 2009-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

[issue1612] panic: npxintr from nowhere


From: "bleader \(via DragonFly issue tracker\)" <sinknull@xxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 25 Nov 2009 10:19:18 +0000

bleader <bleader@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@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.


[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]