Documentation/hwmon/coretemp.rst
Source file repositories/reference/linux-study-clean/Documentation/hwmon/coretemp.rst
File Facts
- System
- Linux kernel
- Corpus path
Documentation/hwmon/coretemp.rst- Extension
.rst- Size
- 6971 bytes
- Lines
- 235
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: documentation
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
Kernel driver coretemp
======================
Supported chips:
* All Intel Core family and Atom processors with Digital Thermal Sensor (DTS)
Prefix: 'coretemp'
CPUID: family 0x6, models with X86_FEATURE_DTHERM, including:
- 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), 0x37 (Bay Trail Atom),
- 0x4a (Merrifield Atom), 0x4c (Cherry Trail Atom),
- 0x5a (Moorefield Atom), 0x5c (Apollo Lake Atom),
- 0x7a (Gemini Lake Atom),
- 0x96 (Elkhart Lake Atom), 0x9c (Jasper Lake Atom)
Datasheet:
Intel 64 and IA-32 Architectures Software Developer's Manual
Volume 3A: System Programming Guide
(https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html)
Author: Rudolf Marek
Description
-----------
This driver permits reading the DTS (Digital Temperature Sensor) embedded
inside Intel CPUs. This driver can read both the per-core and per-package
temperature using the appropriate sensors. The per-package sensor is
available on Sandy Bridge and all newer processors. The driver will show
the temperature of all cores inside a package under a single device
directory inside hwmon.
Temperature is measured in degrees Celsius and measurement resolution is
1 degree C. Valid temperatures are from 0 to TjMax degrees C, because
the 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, protection
mechanism will perform actions to forcibly cool down the processor. Alarm
may be raised, if the temperature grows enough (more than TjMax) to trigger
the 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 Maximum recommended operating temperature (Tcontrol).
All cooling devices should be turned on.
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 processor
number. For Package temp, this will be "Package id Y",
where Y is the package number.
================= ========================================================
On modern CPUs (Nehalem and newer), TjMax is read from the
MSR_IA32_TEMPERATURE_TARGET register. On older models without this MSR,
TjMax is determined using lookup tables or heuristics. If these don't work
for your CPU, you can pass the correct TjMax value as a module parameter
(tjmax).
Appendix A. Known TjMax lists (TBD):
Some information comes from ark.intel.com
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.