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

Gleb Natapov
2013-03-12T19:16:26Z

On Tue, Mar 12, 2013 at 01:09:44PM -0600, Earl Marwil wrote:
>
> On 03/11/2013 02:27 AM, Gleb Natapov wrote:
> > On Mon, Mar 11, 2013 at 09:09:13AM +0100, Stefan Hajnoczi wrote:
> >> 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.
> >>
> > Your theory is correct. This is the same as [1] which is fixed in 3.9.
> > Depending on your kernel emulate_invalid_guest_state = 0 may help, or
> > may make things even worse :(
> >
> > [1] https://bugzilla.kernel.org/show_bug.cgi?id=50921
> >
> > --
> > Gleb.
> >
> Thank you Stephan and Gleb. You are both right. I tried setting the
> kvm_intel module parameter as Gleb suggested. Running under kernel
> 3.7.9-205.fc18.x86_64, my VM failed to start with the log message:
>
Yes, emulate_invalid_guest_state = 0 was broke in 3.7. 3.9, when
released, should work without it.

--
Gleb.