cvs commit: src/sys/amd64/include specialreg.h src/sys/conf files.amd64 files.i386 src/sys/dev/coretemp coretemp.c src/sys/i386/include specialreg.h src/sys/modules Makefile src/sys/modules/coretemp Makefile src/sys/amd64/conf NOTES ...

Henrik Brix Andersen henrik at
Wed Aug 15 13:47:11 PDT 2007

On Wed, Aug 15, 2007 at 07:26:03PM +0000, Dag-Erling Smorgrav wrote:
> des         2007-08-15 19:26:03 UTC
>   FreeBSD src repository
>   Modified files:
>     sys/amd64/include    specialreg.h 
>     sys/conf             files.amd64 files.i386 
>     sys/i386/include     specialreg.h 
>     sys/modules          Makefile 
>     sys/amd64/conf       NOTES 
>     sys/i386/conf        NOTES 
>   Added files:
>     sys/dev/coretemp     coretemp.c 
>     sys/modules/coretemp Makefile 
>   Log:
>   Add a driver for the on-die digital thermal sensor found on Intel Core
>   and newer CPUs (including Core 2 and Core / Core 2 based Xeons).  The
>   driver attaches to each cpu device and creates a sysctl node in that
>   device's sysctl context (dev.cpu.N.temperature).  When invoked, the
>   handler binds to the appropriate CPU to ensure a correct reading.
>   Submitted by:   Rui Paulo <rpaulo at>
>   Sponsored by:   Google Summer of Code 2007
>   Tested by:      des, marcus, Constantine A. Murenin, Ian FREISLICH
>   Approved by:    re (kensmith)
>   MFC after:      3 weeks

Thanks for working on this. I just tested it on my Core Duo laptop (an
IBM/Lenovo X60s with an L2400 @ 1.66GHz) - it doesn't seem to provide
useful readings:

$ uname -a
FreeBSD 7.0-CURRENT FreeBSD 7.0-CURRENT #63: Wed Aug 15 22:13:01 CEST 2007     root at  i386

$ dmesg | grep coretemp
coretemp0: <CPU On-Die Thermal Sensors> on cpu0
coretemp1: <CPU On-Die Thermal Sensors> on cpu1

$ sysctl dev.cpu.0.temperature
dev.cpu.0.temperature: -50

$ sysctl dev.cpu.1.temperature
dev.cpu.1.temperature: -49

The readings approach zero as the temperature of the CPU rises:

$ sysctl dev.cpu.0.temperature
dev.cpu.0.temperature: -37

$ sysctl dev.cpu.1.temperature
dev.cpu.1.temperature: -38

The ACPI thermal zones seem to provide much more realistic readings:

$ sysctl hw.acpi.thermal.tz0.temperature
hw.acpi.thermal.tz0.temperature: 65.0C

$ sysctl hw.acpi.thermal.tz1.temperature
hw.acpi.thermal.tz1.temperature: 67.0C

Henrik Brix Andersen <henrik at>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 209 bytes
Desc: not available
Url :

More information about the cvs-src mailing list