CFT: k8temp driver

Thomas Hurst tom.hurst at
Tue Feb 12 10:25:35 PST 2008

* Frank Mayhar (frank at wrote:

> k8temp0: <AMD K8 Thermal Sensors> on hostb3
> k8temp0: can't clear config registerdevice_attach: k8temp0 attach returned 6
> k8temp1: <AMD K8 Thermal Sensors> on hostb7
> k8temp1: can't clear config registerdevice_attach: k8temp1 attach returned 6
> Thermtrip=0x0b000424 (CurTmp=0x00 (-49c) TjOffset=0x0b DiodeOffset=0x04 (7c))
> Thermtrip=0x0b510420 (CurTmp=0x51 (32c) TjOffset=0x0b DiodeOffset=0x04 (7c))
> CPU 0 Core 1 Sensor 0: 32c
> Thermtrip=0x005a0f20 (CurTmp=0x5a (41c) TjOffset=0x00 DiodeOffset=0x0f (-4c))
> CPU 1 Core 1 Sensor 0: 41c

Well, the bits clearly are clearable; the 0's on the end of Thermtrip
show the selection is working (it wouldn't show anything if not; your
second CPU seems to not want to set the core selection bit at all, and
neither care for the sensor selection bit).

Interestingly the data sheet suggests on single core systems the core
selection bit should be *set*:

  Thermal Sensor Core Select (ThermSenseCoreSel) -- Bit 2. This bit
  selects the CPU whose temperature is reported in the CurTemp field.
  This bit only applies to dual core processors.  For single core
  processors CPU0 Thermal Sensor is always selected

  0b = CPU1 Thermal Sensor.
  1b = CPU0 Thermal Sensor.

Maybe it's revision dependent.  The data sheet is here:

See the end of page 179 for a description of the register.

Thomas 'Freaky' Hurst

More information about the freebsd-amd64 mailing list