Re: [git pull] x86 fixes

Mark Lord
2008-09-09T17:49:00Z

Mark Lord wrote:
> Andi Kleen wrote:
>> Krzysztof Halasa <khc@pm.waw.pl> writes:
>>
>>> Linus Torvalds <torvalds@linux-foundation.org> writes:
>>>
>>>> - "modern 32-bit": PPro and better. Can take CMOV, MMX and TSC for
>>>> granted.
>>> VIA C3 (Samuel 2/Ezra, 600 - 1000 MHz?, common on VIA EPIA-*: home
>>> theatres etc) can't CMOV.
>>
>> AFAIK they fixed that in newer BIOS with a microcode update. It's
>> slow, but it works.
> ..
>
> Our firewall here uses a Via C3-600 CPU, and CMOV has never worked on it.
> But based upon your posting, I have today upgraded the BIOS to the
> latest (2004) version.
>
> Now.. how can I check whether CMOV works or not? It's not listed in
> /proc/cpuinfo.
..

H. Peter Anvin wrote:
>
> Compile just about any C program with -march=i686.
..

Okay, done. And the binary does indeed have a ton of CMOV instructions.
When running it, this appears immediately:

Illegal instruction

So much for the "BIOS upgrade fixes CMOV microcode" theory.

Cheers