Re: [BUG] x86 kenel won't boot under Virtual PC
- From: David Sanders <linux@xxxxxxxxxxxxxx>
- Date: Sun, 31 Aug 2008 16:03:48 -0400
On Sunday 31 August 2008 14:47, Linus Torvalds wrote:
On Sun, 31 Aug 2008, David Sanders wrote:
I recently discovered that x86 kernels won't boot under Virtual PC.
What CPU does Virtual PC emulate? As far as Wikipedia is concerned (not
that I'd take it on complete faith) it emulates a 32-bit Intel Pentium II.
And that commit makes the kernel use the "P6 nops" for such hardware.
Maybe Virtual PC doesn't support the newer intel nop things?
Intel docs say that it should be available on any intel CPU that has
CPUID.01H.EAX[11:8] = 0110B or 1111B. That's the "family ID", and Pentium
II should have a family ID of 6 (ie that 0110B case).
So it sounds like a Virtual PC bug, but I dunno. And maybe we should just
use the legcay nops for anything that isn't modern (ie P4+ or Core)?
Linus
Virtual PC does not emulate a processor like it does with the motherboard,
video, NIC ,etc. What you see in the virtual machine is the actual
processor, except that Virtual PC looks at all of your instructions and
modifies ring 0 code and the like. It may be that Virtual PC was not
designed with an awareness of these nops that the commit added.
I would suggest an configuration option to select legacy-nops or newer-nops
and a kernel boot-time parameter so it can be disabled to allow installation
of a distribution for example.
I would be happy to submit such a patch if you agree (or I'll try to anyway).
--
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/
- References:
- [BUG] x86 kenel won't boot under Virtual PC
- From: David Sanders
- Re: [BUG] x86 kenel won't boot under Virtual PC
- From: Linus Torvalds
- [BUG] x86 kenel won't boot under Virtual PC
- Prev by Date: Re: [GIT]: Networking
- Next by Date: Re: [PATCH] prevent ia64 from invoking irq handlers on offline CPUs
- Previous by thread: Re: [BUG] x86 kenel won't boot under Virtual PC
- Next by thread: [PATCH] kernel/cpu.c: Move the CPU_DYING notifiers
- Index(es):
Relevant Pages
|