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

From: Ingo Molnar
Date: Mon Sep 08 2008 - 11:24:03 EST



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