Re: win2k guest vm won't boot under Fedora 18 KVM

Stefan Hajnoczi
2013-03-11T08:09:18Z

On Sat, Mar 09, 2013 at 12:43:32PM -0700, Earl Marwil wrote:
> Hi,
>
> I'm looking for some guidance on how to get to the root cause of an
> issue that I am observing with a win2k guest that won't boot under
> Fedora 18 on one system but will boot on another. A few days ago I
> posted on the fedora forum:
>
> http://forums.fedoraforum.org/showthread.php?t=289401
>
> I can repeat the details in this thread if requested. The issue is that,
> with a fresh build of Fedora 18, updated to the most recent kernel and
> packages on an external USB ssd, my win2k VM boots on my laptop (Core
> i73720QM processor) but does not boot on my desktop system (Core i7-870
> processor).
>
> I'm not sure whether this is a kvm issue or a kernel issue. I'll be glad
> to dig deeper, just let me what information is needed.

Hi Earl,
>From your forum post:

KVM internal error. Suberror: 1
emulation failure
EAX=63700200 EBX=0000e6f5 ECX=0000000f EDX=00000936
...
Code=74 1d b0 37 e6 70 eb 00 e4 71 eb 00 32 e4 c1 c0 04 c0 c8 04 <d5> 0a 3d 13 0
0 75 04 b8 7a 15 c3 b8 00 00 c3 55 8b ec 1e 06 56 57 8b 46 04 8e d8 8b 76 06

Here is my guess:

Laptop has a CPU from 2012. Desktop has a CPU from 2009.

Intel added "unrestricted guest" support to VMX. This feature allows
the CPU to run real mode code in guest mode.

CPUs that do not support "unrestricted guest" (your desktop?) use an
emulator implemented in software inside the kvm.ko kernel module.

The emulator may be unable to handle the real mode instruction in the
particular kernel version you are running.

The laptop doesn't hit this issue because it supports "unrestricted
guest" while the desktop falls back to the emulator inside kvm.ko where
it hits the bug.

You may find that changing kernel versions on the desktop will make it
work.

The best would be to compile a vanilla Linux kernel for the desktop
machine to verify that this issue still happens. If so, please post the
full "KVM internal error" output to this mailing list and hopefully
someone can fix the emulator.

Problem with my theory: I haven't figured out how to check which Intel
CPU models support "unrestricted guest", so I'm not 100% sure this is
the issue.

Stefan