diff options
author | Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> | 2009-06-15 04:24:09 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-06-16 19:56:08 -0400 |
commit | 5335612a574a45beab14193ec641ed2f45e7a523 (patch) | |
tree | 44fd7a49f46c0f85b2a7a956b589b7e0c7202ae1 /arch | |
parent | 3adacb70d32046ccc9f0333b50bb2ba1582ccdf4 (diff) |
x86, mce: unify smp_thermal_interrupt, prepare mce_intel_64
Break smp_thermal_interrupt() into two functions.
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/cpu/mcheck/mce_intel_64.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce_intel_64.c b/arch/x86/kernel/cpu/mcheck/mce_intel_64.c index c548111d011b..a5232b2c4ca0 100644 --- a/arch/x86/kernel/cpu/mcheck/mce_intel_64.c +++ b/arch/x86/kernel/cpu/mcheck/mce_intel_64.c | |||
@@ -16,19 +16,21 @@ | |||
16 | #include <asm/idle.h> | 16 | #include <asm/idle.h> |
17 | #include <asm/therm_throt.h> | 17 | #include <asm/therm_throt.h> |
18 | 18 | ||
19 | asmlinkage void smp_thermal_interrupt(void) | 19 | static void intel_thermal_interrupt(void) |
20 | { | 20 | { |
21 | __u64 msr_val; | 21 | __u64 msr_val; |
22 | 22 | ||
23 | ack_APIC_irq(); | ||
24 | |||
25 | exit_idle(); | ||
26 | irq_enter(); | ||
27 | |||
28 | rdmsrl(MSR_IA32_THERM_STATUS, msr_val); | 23 | rdmsrl(MSR_IA32_THERM_STATUS, msr_val); |
29 | if (therm_throt_process(msr_val & THERM_STATUS_PROCHOT)) | 24 | if (therm_throt_process(msr_val & THERM_STATUS_PROCHOT)) |
30 | mce_log_therm_throt_event(msr_val); | 25 | mce_log_therm_throt_event(msr_val); |
26 | } | ||
31 | 27 | ||
28 | asmlinkage void smp_thermal_interrupt(void) | ||
29 | { | ||
30 | ack_APIC_irq(); | ||
31 | exit_idle(); | ||
32 | irq_enter(); | ||
33 | intel_thermal_interrupt(); | ||
32 | inc_irq_stat(irq_thermal_count); | 34 | inc_irq_stat(irq_thermal_count); |
33 | irq_exit(); | 35 | irq_exit(); |
34 | } | 36 | } |