diff options
author | Cyrill Gorcunov <gorcunov@openvz.org> | 2009-12-14 17:56:34 +0900 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-14 10:38:41 +0100 |
commit | 485a2e1973fd9f98c2c6776e66ac4721882b69e0 (patch) | |
tree | 5d7482a66251fc51ba2a83e5ba7c50074a32d972 /arch/x86 | |
parent | f3eee54276dfd1117fd94259f2b4a38388264724 (diff) | |
download | linux-3.10-485a2e1973fd9f98c2c6776e66ac4721882b69e0.tar.gz linux-3.10-485a2e1973fd9f98c2c6776e66ac4721882b69e0.tar.bz2 linux-3.10-485a2e1973fd9f98c2c6776e66ac4721882b69e0.zip |
x86, mce: Thermal monitoring depends on APIC being enabled
Add check if APIC is not disabled since thermal
monitoring depends on it. As only apic gets disabled
we should not try to install "thermal monitor" vector,
print out that thermal monitoring is enabled and etc...
Note that "Intel Correct Machine Check Interrupts" already
has such a check.
Also I decided to not add cpu_has_apic check into
mcheck_intel_therm_init since even if it'll call apic_read on
disabled apic -- it's safe here and allow us to save a few code
bytes.
Reported-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
LKML-Reference: <4B25FDC2.3020401@jp.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86')
-rw-r--r-- | arch/x86/kernel/cpu/mcheck/therm_throt.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/therm_throt.c b/arch/x86/kernel/cpu/mcheck/therm_throt.c index 1003ed4bbce..0a9b57702be 100644 --- a/arch/x86/kernel/cpu/mcheck/therm_throt.c +++ b/arch/x86/kernel/cpu/mcheck/therm_throt.c @@ -274,8 +274,9 @@ void intel_init_thermal(struct cpuinfo_x86 *c) int tm2 = 0; u32 l, h; - /* Thermal monitoring depends on ACPI and clock modulation*/ - if (!cpu_has(c, X86_FEATURE_ACPI) || !cpu_has(c, X86_FEATURE_ACC)) + /* Thermal monitoring depends on APIC, ACPI and clock modulation */ + if (!cpu_has_apic || !cpu_has(c, X86_FEATURE_ACPI) || + !cpu_has(c, X86_FEATURE_ACC)) return; /* |