diff options
| author | Rui Paulo <rpaulo@FreeBSD.org> | 2008-02-14 14:14:59 +0000 |
|---|---|---|
| committer | Rui Paulo <rpaulo@FreeBSD.org> | 2008-02-14 14:14:59 +0000 |
| commit | 18d69021611d63fc25a7ef1c8a6252a562232e76 (patch) | |
| tree | 93c239d9d3564ccb88c93cb7f22efa40a8b170e7 /sys/dev/coretemp | |
| parent | 3365b45e5e83d6fff877b5c312db429edbe9a091 (diff) | |
Notes
Diffstat (limited to 'sys/dev/coretemp')
| -rw-r--r-- | sys/dev/coretemp/coretemp.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/dev/coretemp/coretemp.c b/sys/dev/coretemp/coretemp.c index ceaa41d12005..7bb7b636463f 100644 --- a/sys/dev/coretemp/coretemp.c +++ b/sys/dev/coretemp/coretemp.c @@ -143,6 +143,15 @@ coretemp_attach(device_t dev) cpu_model += ((cpu_id >> 16) & 0xf) << 4; cpu_mask = cpu_id & 15; + /* + * Some CPUs, namely the PIII, don't have thermal sensors, but + * report them when the CPUID check is performed in + * coretemp_identify(). This leads to a later GPF when the sensor + * is queried via a MSR, so we stop here. + */ + 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. |
