I have a quad deschutes machine, and Linux comes up and identifies it as
celeron (covington). This is not really a problem of course, but it
makes linux look bad in the eyes of management. ;-)
I have narrowed the problem to this snippet of code (in
arch/i386/kernel/setup.c):
if ((cpu_models[i].vendor == X86_VENDOR_INTEL)
&& (cpu_models[i].x86 == 6)
&& (c->x86_model == 5)
&& (c->x86_cache_size == 0)) {
p = "Celeron (Covington)";
}
With this commented out it correctly identifies the CPU as a Deschutes.
So, I was wondering what exactly this code is for. i.e. why can't the
covington be identified with the normal procedure?
The key here is c->x86_cache_size. For the deschutes, CPUID 2
returns EDX of 0x40, which Linux thinks means 0 L2 cache. Where does this
come from? In the blue book, 0x41 -> 0x44 have values but not 0x40.
Regards,
Terry Murphy (speaking for only myself)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/