Hi..
> I'm working on a program that will detect various (newer)
> processors using CPUID. I currently only have added Intel
> and AMD support, and I'll try to add Cyrix support later,
> but according to a description of CPUID I found on
> the Internet says Cyrix is hard or impossible to identify
> correctly using CPUID.
The Cx486 SLC/DLC/s/s2/sx/dx/dx2/dx4/5x86 don't support CPUID.
The 6x86 has CPUID turned off by default.
The 6x86MX & MediaGX have CPUID turned on by default.
So, the _only_ chips readily identified by CPUID are the 6x86MX and MediaGX.
not much of a range.
The CPUID 'ID' of cyrix is 'CyrixInstead'. Also, you will need to allow for
UMC U5D and U5S chips: 'UMC UMC UMC ', and Centaur C6's: 'CentaurHauls' in
your code. AMD's ID is, of course, 'AuthenticAMD'.
Furthermore, attempting to enable CPUID in a 6x86 requires writing to ports
22h
and 23h - which many older motherboard chipsets use as their setup/config
ports; writing to them usually crashes the computer! (ie most/many 286, 386
and
early 486 chipsets, including G2, C&T NEAT, & anything with an 82c206).
So, you have a no-win situation. In my diagnostics packages, I offer the user
the ability to enable/disable the 6x86 CPUID turn-on check. That way, if it
crashes they can just turn it off. If they really do have a 6x86 and still
turn it off, the closest you can 'match' the CPU is a 486DX.
If you have internet acvcess, visit www.sandpile.org for what I consider to
be the 'best' set of CPU related technical documents. He has a great page on
CPUID.
Craig
--- FMail/386 1.20+
---------------
* Origin: Communications Barrier BBS (03) 9585 1112, 24hrs (3:632/533)
|