lkml.org 
[lkml]   [1998]   [Jul]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectUltimate Cyrix CPU detection [PATCH] 2.1.108
Hi,

The following patch against 2.1.108 should correctly detect all Cyrix CPU
ever made (and then some). Everything that was previously done in
assembly in head.S (which gave us the problem with the BX chipset) has
been C'ified and moved to bugs.h.

The patch also decodes the silicon stepping numbers to match those printed
on-chip and in publications. Supports extended cpuid levels for the Mxi
and MXm (untested). Finally it fixes the two problems with the 686(L)
CPU's: enabling cpuid, and reseting the SLOP bit for the udelay
calibration (BogoMIPS).

Of course, I can't possibly test all those chips so I'm posting to the
list for feedback.

Changes:
- complete rewrite of the cyrix_model() in setup.c, using the
algorithm kindly provided by Channing Corn from Cyrix.
(BTW, I did the implemetation so flames here, not to Channing.)

- added the function do_cyrix_devid() to setup.c to take care of
reading the Cyrix DIR registers if available for correct CPU id.

- removes all Cyrix entries from cpu_model_info (no longer needed)

- moves cpuid function, adds Cyrix CPU index register defines and
access macros to processor.h

- adds the function check_cyrix_cpu() to correctly (and safely)
identify Cyrix CPU's without cpuid to bugs.h

- adds the function check_cx686_cpuid_slop() to correct the above
mentioned problems with the Cx686(L) processors to bugs.h

Please let me know if any chips aren't detected properly, or if any
breakage happens. If this is correct we can remove the #ifdef 0 code from
head.S for good.

Cheers,

Rafael

[PS: Andrew Balsa is currently cooking the 2.0.x version (and helped a lot
with this one)... so those Cyrix users not on the bleeding edge don't
despair ;) ]

[unhandled content-type:application/octet-stream]
\
 
 \ /
  Last update: 2005-03-22 13:43    [W:0.049 / U:0.720 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site