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



On Monday 08 September 2008 11:23, Ingo Molnar wrote:
* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
On Sun, 7 Sep 2008, H. Peter Anvin wrote:
Under that logic we shouldn't even have CPU configurables, since you
want it to "just work" whatever crap you're running on. That is
EXACTLY what CONFIG_X86_GENERIC means

I dunno.. Event he help-text doesn't actually agree with that:

config X86_GENERIC
bool "Generic x86 support"
depends on X86_32
help
Instead of just including optimizations for the selected
x86 variant (e.g. PII, Crusoe or Athlon), include some more
generic optimizations as well. This will make the kernel
perform better on x86 CPUs other than that selected.

This is really intended for distributors who need more
generic optimizations.

Also, quite frankly, while the CPU processor type message says

The kernel will not necessarily run on earlier architectures
than the one you have chosen, e.g. a Pentium optimized kernel will run on
a PPro, but not necessarily on a i486.

I thought you agreed that CPU virtualization can be a problem? That
was the whole excuse for why the dynamic code was changed. Why would
it not be true for the static code?

The fact is, if you want to run on a Core2 or other modern CPU, then
"Virtual PC" is apparently buggy in this respect. You worked around it
for the dynamic choice - but that's totally _pointless_ if you then
don't want to work around it for the static one.

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.


Ingo,
With CONFIG_X86_GENERIC=y, the latest v2.6.27 in Linus's tree boots fine. But
if you don't select that option (and some distributions don't) it won't boot
at all. It just hangs (blank screen) with no error messages and nothing in
dmesg. I assume it is hitting one of the ASM_NOP? instructions.
David
--
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/



Relevant Pages