[PATCH] improved/fixed CPU detection for Cyrix and AMD

Rafael Reilova (rreilova@ececs.uc.edu)
Tue, 6 Oct 1998 23:51:14 -0400 (EDT)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---559023410-959030623-907732274=:260
Content-Type: TEXT/PLAIN; charset=US-ASCII

Hi guys,

The following patch (against 2.1.124) fixes a few glitches with the Cyrix
CPU detection and makes the reporting more simmilar to the Intel one.
Also vendor capability flags should now be reported (AMD and Cyrix)
[experimental]. Please test.

In detail:

- the new model line in /proc/cpuinfo was reporting "strange" numbers
on Cyrixes (actually the DEVID0 reg.), fixed.

- stepping numbers are reported in the traditional way, ie. as model and
separate step number, not as stepping "1.3". Previously Cyrix's numbers
gave model as step, step as revision. This removed a couple of special
cases in arch/kernel/setup.c and simplified some code.

- check_cx686_cpuid_slop() has been broken into two separate functions:

- check_cx686_cpuid() makes sure all cpuid capable Cyrixes have
the instruction enabled. This fixes some BIOS braindamage that
was actually disabling the cpuid on the Cx686MX.
- check_cx686_slop() takes care of the slop bit resetting on the
Cx686 classic and Cx686L.

- amd_model() now uses cpuid level 0x80000001 to get at the extended
capabilities flags. Since regular and extended flags overlap this
should be fine (This is also used for the Cyrix GXm). Please check.

- some code cleanup.

- more (hopefully better) documentation.

Cheers,

Rafael

Sample /proc/cpuinfo:

processor : 0
vendor_id : CyrixInstead
cpu family : 6
model : 1
model name : 6x86MX 2x Core/Bus Clock
stepping : 3
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de msr cx8 cmov mmx
bogomips : 133.12

---559023410-959030623-907732274=:260
Content-Type: APPLICATION/octet-stream; name="cpu-det.patch.gz"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.SOL.3.96.981006235114.260E@picasso.ececs.uc.edu>
Content-Description:

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
rwfENjglAAA=
---559023410-959030623-907732274=:260--

-
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/