kernel_optimize_test/arch/i386
Steven Rostedt cd3716ab40 [PATCH] Mobil Pentium 4 HT and the NMI
I'm trying to get the nmi working with my laptop (IBM ThinkPad G41) and after
debugging it a while, I found that the nmi code doesn't want to set it up for
this particular CPU.

Here I have:

$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Mobile Intel(R) Pentium(R) 4 CPU 3.33GHz
stepping        : 1
cpu MHz         : 3320.084
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 3
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni
monitor ds_cpl est tm2 cid xtpr
bogomips        : 6642.39

processor       : 1
vendor_id       : GenuineIntel
cpu family      : 15
model           : 4
model name      : Mobile Intel(R) Pentium(R) 4 CPU 3.33GHz
stepping        : 1
cpu MHz         : 3320.084
cache size      : 1024 KB
physical id     : 0
siblings        : 2
core id         : 0
cpu cores       : 1
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 3
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni
monitor ds_cpl est tm2 cid xtpr
bogomips        : 6637.46

And the following code shows:

$ cat linux-2.6.13-rc6/arch/i386/kernel/nmi.c

[...]

void setup_apic_nmi_watchdog (void)
{
        switch (boot_cpu_data.x86_vendor) {
        case X86_VENDOR_AMD:
                if (boot_cpu_data.x86 != 6 && boot_cpu_data.x86 != 15)
                        return;
                setup_k7_watchdog();
                break;
        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;

Here I get boot_cpu_data.x86_model == 0x4.  So I decided to change it and
reboot.  I now seem to have a working NMI.  So, unless there's something know
to be bad about this processor and the NMI.  I'm submitting the following
patch.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Acked-by: Zwane Mwaikambo <zwane@arm.linux.org.uk>
Acked-by: Mikael Pettersson <mikpe@csd.uu.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-19 18:44:56 -07:00
..
boot [PATCH] coverity: i386: build.c: negative return to unsigned fix 2005-06-28 21:20:33 -07:00
crypto [PATCH] arch/i386/crypto/aes.c: fix sparse warnings 2005-06-25 16:24:59 -07:00
kernel [PATCH] Mobil Pentium 4 HT and the NMI 2005-08-19 18:44:56 -07:00
lib [PATCH] Remove i386_ksyms.c, almost. 2005-06-23 09:45:11 -07:00
mach-default [PATCH] x86_64: CPU hotplug support 2005-06-25 16:24:30 -07:00
mach-es7000 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-generic Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mach-visws [PATCH] visws: linkage fix 2005-08-07 10:00:38 -07:00
mach-voyager [PATCH] i386 voyager: Add machine_shutdown 2005-08-06 12:54:57 -07:00
math-emu Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mm [PATCH] Move the fix to align node_end_pfns to a proper location 2005-08-07 10:00:39 -07:00
oprofile [PATCH] xen: x86: Rename usermode macro 2005-06-23 09:45:14 -07:00
pci [PATCH] visws: linkage fix 2005-08-07 10:00:38 -07:00
power [PATCH] MTRR suspend/resume cleanup 2005-07-07 18:23:42 -07:00
defconfig [PATCH] swsusp: kill config_pm_disk 2005-06-25 16:24:32 -07:00
Kconfig [PATCH] remove special HPET_EMULATE_RTC config option 2005-08-04 16:27:58 -07:00
Kconfig.debug [PATCH] i386: add missing Kconfig help text 2005-07-27 16:25:58 -07:00
Makefile [PATCH] biarch compiler support for i386 2005-06-23 09:45:07 -07:00