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



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/



Relevant Pages

  • Re: [BUG] x86 kenel wont boot under Virtual PC
    ... What CPU does Virtual PC emulate? ... And that commit makes the kernel use the "P6 nops" for such hardware. ... Maybe Virtual PC doesn't support the newer intel nop things? ...
    (Linux-Kernel)
  • Re: [BUG] x86 kenel wont boot under Virtual PC
    ... I recently discovered that x86 kernels won't boot under Virtual PC. ... What CPU does Virtual PC emulate? ... And that commit makes the kernel use the "P6 nops" for such hardware. ... Maybe Virtual PC doesn't support the newer intel nop things? ...
    (Linux-Kernel)
  • Re: [BUG] x86 kenel wont boot under Virtual PC
    ... I recently discovered that x86 kernels won't boot under Virtual PC. ... What CPU does Virtual PC emulate? ... Maybe Virtual PC doesn't support the newer intel nop things? ...
    (Linux-Kernel)
  • Re: Home built Z80 computers
    ... TTL and CMOS 74-series and generic memory chips. ... Put the CPU on one board, memory on another, I/O on ... Operating system: Picking a CPU normally picks the operating system. ... computer to EMULATE a CP/M-80 computer. ...
    (comp.os.cpm)
  • Re: "Microsoft bombshell: no EFI support for Vista"
    ... With no need to emulate the CPU, speeds should be ... If somehow MS chooses to cripple VPC, ...
    (comp.sys.mac.advocacy)