summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/perfctr-watchdog.c
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2008-08-27 19:17:07 -0700
committerH. Peter Anvin <hpa@zytor.com>2008-08-27 19:17:07 -0700
commitb30a72a7edfc64c8929104d5c2178aca489aa559 (patch)
tree2b26c155c318d08d946bd2d70cf815dcdb29a243 /arch/x86/kernel/cpu/perfctr-watchdog.c
parentf1c5d30e1d79bbfb60eaf189db862d3cb2bcac92 (diff)
parentc1b362e3b4d331a63915b268a33207311a439d60 (diff)
downloadblackbird-op-linux-b30a72a7edfc64c8929104d5c2178aca489aa559.tar.gz
blackbird-op-linux-b30a72a7edfc64c8929104d5c2178aca489aa559.zip
Merge branch 'x86/urgent' into x86/cpu
Conflicts: arch/x86/kernel/cpu/cyrix.c
Diffstat (limited to 'arch/x86/kernel/cpu/perfctr-watchdog.c')
-rw-r--r--arch/x86/kernel/cpu/perfctr-watchdog.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/perfctr-watchdog.c b/arch/x86/kernel/cpu/perfctr-watchdog.c
index de7439f82b92..05cc22dbd4ff 100644
--- a/arch/x86/kernel/cpu/perfctr-watchdog.c
+++ b/arch/x86/kernel/cpu/perfctr-watchdog.c
@@ -478,7 +478,13 @@ static int setup_p4_watchdog(unsigned nmi_hz)
perfctr_msr = MSR_P4_IQ_PERFCTR1;
evntsel_msr = MSR_P4_CRU_ESCR0;
cccr_msr = MSR_P4_IQ_CCCR1;
- cccr_val = P4_CCCR_OVF_PMI1 | P4_CCCR_ESCR_SELECT(4);
+
+ /* Pentium 4 D processors don't support P4_CCCR_OVF_PMI1 */
+ if (boot_cpu_data.x86_model == 4 && boot_cpu_data.x86_mask == 4)
+ cccr_val = P4_CCCR_OVF_PMI0;
+ else
+ cccr_val = P4_CCCR_OVF_PMI1;
+ cccr_val |= P4_CCCR_ESCR_SELECT(4);
}
evntsel = P4_ESCR_EVENT_SELECT(0x3F)
OpenPOWER on IntegriCloud