2.6.7 shows K7 with Pentium Pro erratum [Re: New version of early CPU detect]

From: Janos Farkas
Date: Mon Jun 21 2004 - 07:05:39 EST


On 2004-04-23 at 04:30:01, Andi Kleen wrote:
> We still need some kind of early CPU detection, e.g. for the AMD768 workaround

This is an old post with a patch which seems to be responsible for what
I am seeing on an aging machine:

>> Pentium Pro with Errata#50 detected. Taking evasive action.
>> Memory: 255808k/262144k available (2445k kernel code, 5600k reserved, 667k data, 148k init, 0k highmem)
>> Checking if this processor honours the WP bit even in supervisor mode... Ok.
>> Calibrating delay loop... 1077.24 BogoMIPS
...
>> CPU: After generic identify, caps: 0081f9ff c0c1f9ff 00000000 00000000
>> CPU: After vendor identify, caps: 0081f9ff c0c1f9ff 00000000 00000000
>> CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
>> CPU: L2 Cache: 512K (64 bytes/line)
>> CPU: After all inits, caps: 0081f9ff c0c1f9ff 00000000 00000020
>> Intel machine check architecture supported.
>> Intel machine check reporting enabled on CPU#0.
>> CPU: AMD-K7(tm) Processor stepping 02

So, it's a K7-550 with a Pentium Pro erratum... I'm not quite sure it's
right :)

As it is, the family/model numbers seems to match, but it's obviously an
AMD product..

processor : 0
vendor_id : AuthenticAMD
cpu family : 6
model : 1
model name : AMD-K7(tm) Processor
stepping : 2
cpu MHz : 551.261
cache size : 512 KB
...
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat mmx syscall mmxext 3dnowext 3dnow
bogomips : 1077.24

The parts of the patch to point to this misdetection:

> +++ linux-2.6.5-i386/arch/i386/kernel/cpu/common.c 2004-04-21 17:05:06.000000000 +0200
...
> void __init early_cpu_init(void)
> {
> + early_cpu_detect();
> intel_cpu_init();
> cyrix_init_cpu();

> +++ linux-2.6.5-i386/arch/i386/kernel/cpu/intel.c 2004-04-21 17:06:00.000000000 +0200
...
> + /* Uses data from early_cpu_detect now */
> + if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL &&
> + boot_cpu_data.x86 == 6 &&
> + boot_cpu_data.x86_model == 1 &&
> + boot_cpu_data.x86_mask < 8) {
> printk(KERN_INFO "Pentium Pro with Errata#50 detected. Taking evasive action.\n");
> return 1;

--
Janos | romfs is at http://romfs.sourceforge.net/ | Don't talk about silence.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/