Re: Bug on 2.6.26 - x86 VIA Nehemiah CentaurHauls processor cannotboot

From: H. Peter Anvin
Date: Sat Jul 26 2008 - 14:36:40 EST


Andi Kleen wrote:

This was originally supposed to be handled in the early real mode
head.S code. That is why I put the CPUID checking code in there
to error out early when you can still print to the console
using the BIOS functions.

I suspect this regressed when that code was moved to C, because
now the C compiler generates CMOV early.

How about always building the real mode C code with -march=i386?
It is not performance critical so that is ok.


The real mode code *is* compiled with -march=i386, and in the CMOV case it will err out with a legible message.

The issue isn't CMOV at all, it's with long NOPs, which don't have a CPUID bit -- they're supposed to be supported if family >= 6, but some VIA chips violate that condition.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/