cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

k8temp.rst (2155B)


      1Kernel driver k8temp
      2====================
      3
      4Supported chips:
      5
      6  * AMD Athlon64/FX or Opteron CPUs
      7
      8    Prefix: 'k8temp'
      9
     10    Addresses scanned: PCI space
     11
     12    Datasheet: https://www.amd.com/system/files/TechDocs/32559.pdf
     13
     14Author: Rudolf Marek
     15
     16Contact: Rudolf Marek <r.marek@assembler.cz>
     17
     18Description
     19-----------
     20
     21This driver permits reading temperature sensor(s) embedded inside AMD K8
     22family CPUs (Athlon64/FX, Opteron). Official documentation says that it works
     23from revision F of K8 core, but in fact it seems to be implemented for all
     24revisions of K8 except the first two revisions (SH-B0 and SH-B3).
     25
     26Please note that you will need at least lm-sensors 2.10.1 for proper userspace
     27support.
     28
     29There can be up to four temperature sensors inside single CPU. The driver
     30will auto-detect the sensors and will display only temperatures from
     31implemented sensors.
     32
     33Mapping of /sys files is as follows:
     34
     35============= ===================================
     36temp1_input   temperature of Core 0 and "place" 0
     37temp2_input   temperature of Core 0 and "place" 1
     38temp3_input   temperature of Core 1 and "place" 0
     39temp4_input   temperature of Core 1 and "place" 1
     40============= ===================================
     41
     42Temperatures are measured in degrees Celsius and measurement resolution is
     431 degree C. It is expected that future CPU will have better resolution. The
     44temperature is updated once a second. Valid temperatures are from -49 to
     45206 degrees C.
     46
     47Temperature known as TCaseMax was specified for processors up to revision E.
     48This temperature is defined as temperature between heat-spreader and CPU
     49case, so the internal CPU temperature supplied by this driver can be higher.
     50There is no easy way how to measure the temperature which will correlate
     51with TCaseMax temperature.
     52
     53For newer revisions of CPU (rev F, socket AM2) there is a mathematically
     54computed temperature called TControl, which must be lower than TControlMax.
     55
     56The relationship is following:
     57
     58	temp1_input - TjOffset*2 < TControlMax,
     59
     60TjOffset is not yet exported by the driver, TControlMax is usually
     6170 degrees C. The rule of the thumb -> CPU temperature should not cross
     6260 degrees C too much.