2000-11-10 06:56:37

by H. Peter Anvin

[permalink] [raw]
Subject: [i386] CPU detection cleanup version 2

I have produced another version of the CPU detection cleanup patch.
Now I have ported over mtrr.c, and fix a small handful of places I had
missed because of the configurations I had used.

The number one thing I *haven't* yet done with it -- which I'd like to
-- is to integrate the handling of bugs (except the P6 SEP bug) into
the same framework and pretty much eliminate asm/bugs.h, as well as
splitting off the CPU detection into a separate file. However, due to
the very late stage in the game, I wanted to worry about things that
are important for correctness for now.

Please do keep in mind this is not merely a cosmetic change. The old
code was rather shockingly klugy and incorrect in a number of places.
A lot of problems I thought were AMD CPUID bugs were in fact caused by
Linux trying to use the Intel-defined and the AMD-defined flags as
interchangeable (they're not.)

The patch is at:


Please give me reports on works/not works with output from
/proc/cpuinfo and the cpuid.c program (in the same directory as the


<[email protected]> at work, <[email protected]> in private!
"Unix gives you enough rope to shoot yourself in the foot."