Kernel driver pkgtemp
======================

Supported chips:
  * Intel family
    Prefix: 'pkgtemp'
    CPUID:
    Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual
               Volume 3A: System Programming Guide

Author: Fenghua Yu

Description
-----------

This driver permits reading package level temperature sensor embedded inside
Intel CPU package. The sensors can be in core, uncore, memory controller, or
other components in a package. The feature is first implemented in Intel Sandy
Bridge platform.

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 package.
We get this from MSR_IA32_TEMPERATURE_TARGET. If the MSR is not accessible,
we define TjMax as 100 degrees Celsius. At this temperature, protection
mechanism will perform actions to forcibly cool down the package. 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:

temp1_input	  - Package temperature (in millidegrees Celsius).
temp1_max        - All cooling devices should be turned on.
temp1_crit	  - Maximum junction temperature (in millidegrees Celsius).
temp1_crit_alarm - Set when Out-of-spec bit is set, never clears.
		    Correct CPU operation is no longer guaranteed.