i386/120541: coretemp causes kernel panic on pentium III
Rui Paulo
rpaulo at fnop.net
Mon Feb 11 13:00:03 PST 2008
The following reply was made to PR i386/120541; it has been noted by GNATS.
From: Rui Paulo <rpaulo at fnop.net>
To: Bruce Becker <hostmaster at gts.infra-service.ca>
Cc: freebsd-gnats-submit at FreeBSD.org
Subject: Re: i386/120541: coretemp causes kernel panic on pentium III
Date: Mon, 11 Feb 2008 20:25:55 +0000
On Feb 11, 2008, at 5:12 PM, Bruce Becker wrote:
>
>> Number: 120541
>> Category: i386
>> Synopsis: coretemp causes kernel panic on pentium III
>> Confidential: no
>> Severity: critical
>> Priority: medium
>> Responsible: freebsd-i386
>> State: open
>> Quarter:
>> Keywords:
>> Date-Required:
>> Class: sw-bug
>> Submitter-Id: current-users
>> Arrival-Date: Mon Feb 11 17:20:00 UTC 2008
>> Closed-Date:
>> Last-Modified:
>> Originator: Bruce Becker
>> Release: 7.0-PRERELEASE
>> Organization:
> InfraService
>> Environment:
> FreeBSD twain 7.0-PRERELEASE FreeBSD 7.0-PRERELEASE #6: Sun Feb 10
> 20:43:49 EST 2008 root at twain:/usr/obj/usr/src/sys/TWAIN i386
>
>> Description:
>
> When "device coretemp" is included into the /sys/i386/conf config
> file, the kernel panics with a general protection fault when "/etc/
> rc.d/initrandom" executes "sysctl -a"
>
>> How-To-Repeat:
>
> On a pentium III system:
>
> kldload coretemp.ko; sysctl -a
>
>> Fix:
>
>
>> Release-Note:
>> Audit-Trail:
>> Unformatted:
> _______________________________________________
> freebsd-i386 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-i386
> To unsubscribe, send any mail to "freebsd-i386-
> unsubscribe at freebsd.org"
This is a known issue and we can't do much about it unless try to
reject module initialization if the CPU model is lower than a Pentium
4. It's Intel's fault that querying Thermal sensors on a PIII returns
true.
Can you test this patch?
Index: coretemp.c
===================================================================
RCS file: /home/ncvs/src/sys/dev/coretemp/coretemp.c,v
retrieving revision 1.5
diff -u -p -r1.5 coretemp.c
--- coretemp.c 10 Jan 2008 16:09:22 -0000 1.5
+++ coretemp.c 11 Feb 2008 07:23:45 -0000
@@ -143,6 +143,9 @@ coretemp_attach(device_t dev)
cpu_model += ((cpu_id >> 16) & 0xf) << 4;
cpu_mask = cpu_id & 15;
+ if (cpu_model < 0xe)
+ return (ENXIO);
+
#if 0 /*
* XXXrpaulo: I have this CPU model and when it returns from C3
* coretemp continues to function properly.
Regards.
--
Rui Paulo
More information about the freebsd-i386
mailing list