aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu
diff options
context:
space:
mode:
authorHidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>2009-06-15 04:24:09 -0400
committerH. Peter Anvin <hpa@zytor.com>2009-06-16 19:56:08 -0400
commit5335612a574a45beab14193ec641ed2f45e7a523 (patch)
tree44fd7a49f46c0f85b2a7a956b589b7e0c7202ae1 /arch/x86/kernel/cpu
parent3adacb70d32046ccc9f0333b50bb2ba1582ccdf4 (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/x86/kernel/cpu')
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce_intel_64.c14
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
19asmlinkage void smp_thermal_interrupt(void) 19static 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
28asmlinkage 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}