diff options
| author | Alan Cox <alan@lxorguk.ukuu.org.uk> | 2003-07-31 05:14:26 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@home.osdl.org> | 2003-07-31 05:14:26 -0700 |
| commit | f3c1ba859c6ed115aeb6bd070191c379628a5f19 (patch) | |
| tree | da7019222ba8e79bbe2063ced65f293d0981ceac | |
| parent | b28d270861e6a3514b17653cc160f23de18a7c31 (diff) | |
[PATCH] dont assume newer cpus have the same magic registers
(Venkatesh Pallipadi@intel)
| -rw-r--r-- | arch/i386/kernel/nmi.c | 12 |
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; |
