5 * All Intel Core family
7 CPUID: family 0x6, models 0xe (Pentium M DC), 0xf (Core 2 DC 65nm),
8 0x16 (Core 2 SC 65nm), 0x17 (Penryn 45nm),
9 0x1a (Nehalem), 0x1c (Atom), 0x1e (Lynnfield),
10 0x26 (Tunnel Creek Atom), 0x27 (Medfield Atom)
11 Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual
12 Volume 3A: System Programming Guide
13 http://softwarecommunity.intel.com/Wiki/Mobility/720.htm
19 This driver permits reading the DTS (Digital Temperature Sensor) embedded
20 inside Intel CPUs. This driver can read both the per-core and per-package
21 temperature using the appropriate sensors. The per-package sensor is new;
22 as of now, it is present only in the SandyBridge platform. The driver will
23 show the temperature of all cores inside a package under a single device
24 directory inside hwmon.
26 Temperature is measured in degrees Celsius and measurement resolution is
27 1 degree C. Valid temperatures are from 0 to TjMax degrees C, because
28 the actual value of temperature register is in fact a delta from TjMax.
30 Temperature known as TjMax is the maximum junction temperature of processor,
31 which depends on the CPU model. See table below. At this temperature, protection
32 mechanism will perform actions to forcibly cool down the processor. Alarm
33 may be raised, if the temperature grows enough (more than TjMax) to trigger
34 the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
36 All Sysfs entries are named with their core_id (represented here by 'X').
37 tempX_input - Core temperature (in millidegrees Celsius).
38 tempX_max - All cooling devices should be turned on (on Core2).
39 tempX_crit - Maximum junction temperature (in millidegrees Celsius).
40 tempX_crit_alarm - Set when Out-of-spec bit is set, never clears.
41 Correct CPU operation is no longer guaranteed.
42 tempX_label - Contains string "Core X", where X is processor
43 number. For Package temp, this will be "Physical id Y",
44 where Y is the package number.
46 On CPU models which support it, TjMax is read from a model-specific register.
47 On other models, it is set to an arbitrary value based on weak heuristics.
48 If these heuristics don't work for you, you can pass the correct TjMax value
49 as a module parameter (tjmax).
51 Appendix A. Known TjMax lists (TBD):
52 Some information comes from ark.intel.com
54 Process Processor TjMax(C)
56 32nm Core i3/i5/i7 Processors
57 i7 660UM/640/620, 640LM/620, 620M, 610E 105
58 i5 540UM/520/430, 540M/520/450/430 105
59 i3 330E, 370M/350/330 90 rPGA, 105 BGA
62 32nm Core i7 Extreme Processors
65 32nm Celeron Processors
72 45nm Xeon Processors 5400 Quad-Core
73 X5492, X5482, X5472, X5470, X5460, X5450 85
74 E5472, E5462, E5450/40/30/20/10/05 85
76 L5430, L5420, L5410 70
78 45nm Xeon Processors 5200 Dual-Core
79 X5282, X5272, X5270, X5260 90
87 Z560/550/540/530P/530/520PT/520/515/510PT/510P 90
93 E680T/660T/640T/620T 110
96 Solo ULV SU3500/3300 100
97 T9900/9800/9600/9550/9500/9400/9300/8300/8100 105
102 SL9600/9400/9380/9300 105
103 P9700/9600/9500/8800/8700/8600/8400/7570 105
106 45nm Core2 Quad Processors
109 45nm Core2 Extreme Processors
113 45nm Core i3/i5/i7 Processors
115 i7 840QM/820/740/720 100
117 45nm Celeron Processors
121 65nm Core2 Duo Processors
122 Solo U2200, U2100 100
124 T7800/7700/7600/7500/7400/7300/7250/7200/7100 100
125 T5870/5670/5600/5550/5500/5470/5450/5300/5270 100
128 L7700/7500/7400/7300/7200 100
130 65nm Core2 Extreme Processors
133 65nm Core Duo Processors
135 T2700/2600/2450/2400/2350/2300E/2300/2250/2050 100
138 65nm Core Solo Processors
140 T1400/1350/1300/1250 100
142 65nm Xeon Processors 5000 Quad-Core
148 65nm Xeon Processors 5000 Dual-Core
149 5080, 5063, 5060, 5050, 5030 80-90
150 5160, 5150, 5148, 5140, 5130, 5120, 5110 80
153 65nm Celeron Processors