Re: [BUG] x86 kenel won't boot under Virtual PC

From: H. Peter Anvin
Date: Mon Sep 08 2008 - 11:38:25 EST


Ingo Molnar wrote:

yes. X86_P6_NOPS is a totally insignificant optimization and if it makes _any_ CPU not boot (be that virtual or real), then it's frankly not worth it.

David, exactly how does the kernel fail to boot with latest -git? (v2.6.27-rc5-313-g64f996f or later) Does detect_nopl() run? It really should, and it should detect the non-working instructions.


Okay, a few things here...

1. First, I wrote up a patch yesterday to update the CONFIG_X86_GENERIC description and to make it "default y". It is currently on x86/defconfig, but I think it should be promoted to mainline immediately.

2. X86_P6_NOPS is not the only source of static NOPLs. If gcc is set to optimize for specific architectures, then gcc/binutils will generate static NOPLs. The only way we can prevent that is by not using specific -march options, as far as I can tell.

3. I'm not positive that CONFIG_X86_GENERIC currently avoid all cases of (2), but it obviously should. I will verify that today and add a followup patch to the Makefiles if necessary.

Given all of this, I really think that putting this on CONFIG_X86_GENERIC, *AND* making CONFIG_X86_GENERIC the default is the right choice.

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