garbage string as cpu identifier

Bin Ren br260 at cam.ac.uk
Tue Mar 9 19:24:56 PST 2004


On 10 Mar 2004, at 02:46, Eric Anderson wrote:

> Julian wrote:
>> Bin Ren <br260 at cam.ac.uk> writes:
>>> The patch is not to 'fix' your problem by replacing garbage
>>> string with a sane one, but rather to make sure on your
>>> Athlon CPU, 'cpuid' does return garbage string expectedly.
>>> This could mean a very tricky software initialization bug
>>> or even a hardware bug. After confirming fault 'cpuid',
>>> I'll try to find the very reason and fix it.
>> Perhaps not as unusual as reporting garbage, my CPU (AMD Athlon XP
>> 2400+) claims to be "Unknown CPU Type". E.g. mprime chokes on this and
>> detects it as Cyrix... Could this be fixed by a BIOS upgrade?
>> CPU: Unknown CPU Type (2008.53-MHz 686-class CPU)
>>   Origin = "AuthenticAMD"  Id = 0x681  Stepping = 1
>>    
>> Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PG 
>> E,MCA,CM
>> OV,PAT,PSE36,MMX,FXSR,SSE>
>>   AMD Features=0xc0400000<AMIE,DSP,3DNow!>
>
> No - the cpuid ("Id = 0x681") is not in the BIOS.  FreeBSD needs to be  
> updated to recognize it.
> I think (a guess) that the appropriate file to look at is:
>  /usr/src/sys/i386/i386/identcpu.c

Now, I'm almost certain that all these unrecognized CPU type
and garbage CPU ID is due to flawed BIOS.

First, for all details regarding 'cpuid' on AMD Duron and Athlon,
please read 'AMD processor recognition application note':
http://www.darkmoonbbs.org/files/doc_tech/20734.pdf

On page 15, it says 'the name string must be programmed into
processor by the BIOS'. The FreeBSD 'identcpu.c' codes are
up-to-date and consistent with 'cpuid' extension functions. After
all, most users detect CPU type correctly.

So, the answer very likely turns out to be: flawed BIOS.
Update your BIOS and good luck.

-- Bin



More information about the freebsd-current mailing list