summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Cox <alan@lxorguk.ukuu.org.uk>2003-07-31 05:14:26 -0700
committerLinus Torvalds <torvalds@home.osdl.org>2003-07-31 05:14:26 -0700
commitf3c1ba859c6ed115aeb6bd070191c379628a5f19 (patch)
treeda7019222ba8e79bbe2063ced65f293d0981ceac
parentb28d270861e6a3514b17653cc160f23de18a7c31 (diff)
[PATCH] dont assume newer cpus have the same magic registers
(Venkatesh Pallipadi@intel)
-rw-r--r--arch/i386/kernel/nmi.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/i386/kernel/nmi.c b/arch/i386/kernel/nmi.c
index 127452cfe398..c3df35180caf 100644
--- a/arch/i386/kernel/nmi.c
+++ b/arch/i386/kernel/nmi.c
@@ -162,9 +162,15 @@ void disable_lapic_nmi_watchdog(void)
case X86_VENDOR_INTEL:
switch (boot_cpu_data.x86) {
case 6:
+ if (boot_cpu_data.x86_model > 0xd)
+ break;
+
wrmsr(MSR_P6_EVNTSEL0, 0, 0);
break;
case 15:
+ if (boot_cpu_data.x86_model > 0x3)
+ break;
+
wrmsr(MSR_P4_IQ_CCCR0, 0, 0);
wrmsr(MSR_P4_CRU_ESCR0, 0, 0);
break;
@@ -348,9 +354,15 @@ void setup_apic_nmi_watchdog (void)
case X86_VENDOR_INTEL:
switch (boot_cpu_data.x86) {
case 6:
+ if (boot_cpu_data.x86_model > 0xd)
+ return;
+
setup_p6_watchdog();
break;
case 15:
+ if (boot_cpu_data.x86_model > 0x3)
+ return;
+
if (!setup_p4_watchdog())
return;
break;