Kernel driver coretemp¶
- Supported chips:
All Intel Core family
Prefix: ‘coretemp’
CPUID: family 0x6, models
- 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
- 0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm),
- 0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
- 0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom),
- 0x36 (Cedar Trail Atom)
Datasheet:
Intel 64 and IA-32 Architectures Software Developer’s ManualVolume 3A: System Programming Guide
Author: Rudolf Marek
Description¶
This driver permits reading the DTS (Digital Temperature Sensor) embeddedinside Intel CPUs. This driver can read both the per-core and per-packagetemperature using the appropriate sensors. The per-package sensor is new;as of now, it is present only in the SandyBridge platform. The driver willshow the temperature of all cores inside a package under a single devicedirectory inside hwmon.
Temperature is measured in degrees Celsius and measurement resolution is1 degree C. Valid temperatures are from 0 to TjMax degrees C, becausethe actual value of temperature register is in fact a delta from TjMax.
Temperature known as TjMax is the maximum junction temperature of processor,which depends on the CPU model. See table below. At this temperature, protectionmechanism will perform actions to forcibly cool down the processor. Alarmmay be raised, if the temperature grows enough (more than TjMax) to triggerthe Out-Of-Spec bit. Following table summarizes the exported sysfs files:
All Sysfs entries are named with their core_id (represented here by ‘X’).
| tempX_input | Core temperature (in millidegrees Celsius). |
| tempX_max | All cooling devices should be turned on (on Core2). |
| tempX_crit | Maximum junction temperature (in millidegrees Celsius). |
| tempX_crit_alarm | Set when Out-of-spec bit is set, never clears.Correct CPU operation is no longer guaranteed. |
| tempX_label | Contains string “Core X”, where X is processornumber. For Package temp, this will be “Physical id Y”,where Y is the package number. |
On CPU models which support it, TjMax is read from a model-specific register.On other models, it is set to an arbitrary value based on weak heuristics.If these heuristics don’t work for you, you can pass the correct TjMax valueas a module parameter (tjmax).
Appendix A. Known TjMax lists (TBD):Some information comes from ark.intel.com
| Process | Processor | TjMax(C) |
| 22nm | Core i5/i7 Processorsi7 3920XM, 3820QM, 3720QM, 3667U, 3520Mi5 3427U, 3360M/3320Mi7 3770/3770Ki5 3570/3570K, 3550, 3470/3450i7 3770Si5 3570S/3550S, 3475S/3470S/3450Si7 3770Ti5 3570Ti5 3470T | 105105105105103103949491 |
| 32nm | Core i3/i5/i7 Processorsi7 2600i7 660UM/640/620, 640LM/620, 620M, 610Ei5 540UM/520/430, 540M/520/450/430i3 330E, 370M/350/330i3 330UM | 9810510590 rPGA, 105 BGA105 |
| 32nm | Core i7 Extreme Processors980X | 100 |
| 32nm | Celeron ProcessorsU3400P4505/P4500 | 10590 |
| 32nm | Atom ProcessorsS1260/1220S1240Z2460Z2760D2700/2550/2500N2850/2800/2650/2600 | 951029090100100 |
| 45nm | Xeon Processors 5400 Quad-CoreX5492, X5482, X5472, X5470, X5460, X5450E5472, E5462, E5450/40/30/20/10/05L5408L5430, L5420, L5410 | 85859570 |
| 45nm | Xeon Processors 5200 Dual-CoreX5282, X5272, X5270, X5260E5240E5205, E5220L5240L5238, L5215 | 909070, 907095 |
| 45nm | Atom ProcessorsD525/510/425/410K525/510/425/410Z670/650Z560/550/540/530P/530/520PT/520/515/510PT/510PZ510/500N570/550N475/470/455/450N280/270330/230E680/660/640/620E680T/660T/640T/620TE665C/645CE665CT/645CTCE4170/4150/4110CE4200 seriesCE5300 series | 100100909090100100901259011090110110unknownunknown |
| 45nm | Core2 ProcessorsSolo ULV SU3500/3300T9900/9800/9600/9550/9500/9400/9300/8300/8100T6670/6500/6400T6600SU9600/9400/9300SP9600/9400SL9600/9400/9380/9300P9700/9600/9500/8800/8700/8600/8400/7570P7550/7450 | 1001051059010510510510590 |
| 45nm | Core2 Quad ProcessorsQ9100/9000 | 100 |
| 45nm | Core2 Extreme ProcessorsX9100/9000QX9300 | 105100 |
| 45nm | Core i3/i5/i7 Processorsi7 940XM/920i7 840QM/820/740/720 | 100100 |
| 45nm | Celeron ProcessorsSU2300900 | 100105 |
| 65nm | Core2 Duo ProcessorsSolo U2200, U2100U7700/7600/7500T7800/7700/7600/7500/7400/7300/7250/7200/7100T5870/5670/5600/5550/5500/5470/5450/5300/5270T5250T5800/5750/5200L7700/7500/7400/7300/7200 | 10010010010010085100 |
| 65nm | Core2 Extreme ProcessorsX7900/7800 | 100 |
| 65nm | Core Duo ProcessorsU2500/2400T2700/2600/2450/2400/2350/2300E/2300/2250/2050L2500/2400/2300 | 100100100 |
| 65nm | Core Solo ProcessorsU1500/1400/1300T1400/1350/1300/1250 | 100100 |
| 65nm | Xeon Processors 5000 Quad-CoreX5000E5000L5000L5318 | 90-95807095 |
| 65nm | Xeon Processors 5000 Dual-Core5080, 5063, 5060, 5050, 50305160, 5150, 5148, 5140, 5130, 5120, 5110L5138 | 80-9080100 |
| 65nm | Celeron ProcessorsT1700/1600560/550/540/530 | 100100 |