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

From: H. Peter Anvin
Date: Tue Jul 22 2008 - 14:42:21 EST


Jeff Garzik wrote:

We're only referring specifically to the family == 6 VIA processors here.

To be specific, I was merely saying that VIA processors where c->x86_model==6 may lack CMOV.

I have not kept track of what current Kconfig options will set, but in the past it was quite easy to build a "generic 686 kernel" that required CMOV and thus excluded these VIA processors.

Distros in the past often wound up intentionally -not- supporting some of these VIA processors, because they did not want to create a non-CMOV kernel. (This policy obviously excluded older x86 as well)

If these things have been addressed recently (< 12-18 months) then all good.


I am pretty sure CONFIG_X86_GENERIC doesn't disable CMOV, and since CMOV is a separate CPUID flag it's all good (if the chip doesn't have it, it'll trap.)

Unfortunately Intel didn't assign a CPUID flag for the long NOPs, and then didn't document them (I think partially because they were a retcon), but yet it reflected a serious hole in Centaur's characterization effort that they bumped family to 6 without following P6 behaviour for a massive range of opcodes.

The main reason for disabling P6 NOPs for CONFIG_X86_GENERIC is that the win is so small, and that a number of vendors got it wrong.

-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/