Messages in this thread | | | Subject | Re: [RFC] Fix NMI watchdog documentation | From | Valdis.Kletnieks@vt ... | Date | Mon, 26 May 2003 23:19:06 -0400 |
| |
On Mon, 26 May 2003 11:21:38 +0200, mikpe@csd.uu.se said:
> --- linux-2.5.69/arch/i386/kernel/apic.c.~1~ 2003-04-20 13:08:15.000000000 + 0200 > +++ linux-2.5.69/arch/i386/kernel/apic.c 2003-05-26 11:11:19.000000000 + 0200 > @@ -617,7 +617,7 @@ > goto no_apic; > case X86_VENDOR_INTEL: > if (boot_cpu_data.x86 == 6 || > - (boot_cpu_data.x86 == 15 && cpu_has_apic) || > + (boot_cpu_data.x86 == 15) ||
OK, there's good news and bad news. After doing that and lopping out the dmi_scan.c blacklist entry, we get these msgs on boot (diffing against a dmesg from before the above:
1c1 < Linux version 2.5.69 (valdis@turing-police.cc.vt.edu) (gcc version 3.2.3 20030422 (Red Hat Linux 3.2.3-4)) #4 Sun May 25 16:22:44 EDT 2003 --- > Linux version 2.5.69 (valdis@turing-police.cc.vt.edu) (gcc version 3.2.3 20030422 (Red Hat Linux 3.2.3-4)) #5 Mon May 26 20:03:44 EDT 2003 24c24,25 < No local APIC present or hardware disabled --- > Local APIC disabled by BIOS -- reenabling. > Found and enabled local APIC! 27c28 < Detected 1595.314 MHz processor. --- > Detected 1595.413 MHz processor. 30c31 < Memory: 254416k/262024k available (2520k kernel code, 6888k reserved, 969k data, 144k init, 0k highmem) --- > Memory: 254416k/262024k available (2520k kernel code, 6880k reserved, 969k data, 144k init, 0k highmem) 40c41 < CPU: After generic, caps: 3febf9ff 00000000 00000000 00000080 --- > CPU: After generic, caps: 3febfbff 00000000 00000000 00000080 48a50,56 > enabled ExtINT on CPU#0 > ESR value before enabling vector: 00000000 > ESR value after enabling vector: 00000000 > Using local APIC timer interrupts. > calibrating APIC timer ... > ..... CPU clock speed is 1595.0017 MHz. > ..... host bus clock speed is 99.0688 MHz.
So yes Virginia, there is a local APIC on the C840.
Now the bad news - out of 7 or 8 tries, the above was the only boot that lived long enough for me to get a single-user prompt and do a dmesg into a file. That try hung about 10 seconds later. It never hung at the same place twice, and always hung hard enough to require the "power button for 5 seconds to poweroff" sledgehammer. The common factor seemed to be hangs while talking to the IDE drive - while mounting /, while checking the partition table, etc.
One question - in apic.c, I see where clear_local_APIC() is called in init_bsp_APIC(), connect_bsp_APIC(), and disable_local_APIC(). I however don't see where/how it's called in the init_local_APIC() codepath, nor can I convince myself that it obviously *shouldn't* be called...
[unhandled content-type:application/pgp-signature] | |