RE: Installation of Windows 8 hangs with KVM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----Original Message-----
> From: Gleb Natapov [mailto:gleb@xxxxxxxxxx]
> Sent: Monday, January 07, 2013 5:21 PM
> To: Ren, Yongjie
> Cc: Stefan Pietsch; kvm@xxxxxxxxxxxxxxx
> Subject: Re: Installation of Windows 8 hangs with KVM
> 
> On Mon, Jan 07, 2013 at 09:13:37AM +0000, Ren, Yongjie wrote:
> > > -----Original Message-----
> > > From: kvm-owner@xxxxxxxxxxxxxxx
> [mailto:kvm-owner@xxxxxxxxxxxxxxx]
> > > On Behalf Of Gleb Natapov
> > > Sent: Monday, January 07, 2013 4:54 PM
> > > To: Ren, Yongjie
> > > Cc: Stefan Pietsch; kvm@xxxxxxxxxxxxxxx
> > > Subject: Re: Installation of Windows 8 hangs with KVM
> > >
> > > On Mon, Jan 07, 2013 at 08:38:59AM +0000, Ren, Yongjie wrote:
> > > > > -----Original Message-----
> > > > > From: kvm-owner@xxxxxxxxxxxxxxx
> > > [mailto:kvm-owner@xxxxxxxxxxxxxxx]
> > > > > On Behalf Of Stefan Pietsch
> > > > > Sent: Monday, January 07, 2013 2:25 AM
> > > > > To: Gleb Natapov
> > > > > Cc: kvm@xxxxxxxxxxxxxxx
> > > > > Subject: Re: Installation of Windows 8 hangs with KVM
> > > > >
> > > > > * Gleb Natapov <gleb@xxxxxxxxxx> [2013-01-06 11:11]:
> > > > > > On Fri, Jan 04, 2013 at 10:58:33PM +0100, Stefan Pietsch wrote:
> > > > > > > Hi all,
> > > > > > >
> > > > > > > when I run KVM with this command the Windows 8 installation
> > > stops
> > > > > with
> > > > > > > error code 0x0000005D:
> > > > > > > kvm -m 1024 -hda win8.img -cdrom windows_8_x86.iso
> > > > > > >
> > > > > > > After adding the option "-cpu host" the installation proceeds to
> a
> > > black
> > > > > > > screen and hangs.
> > > > > > >
> > > > > > > With Virtualbox the installation succeeds.
> > > > > > > The host CPU is an Intel Core Duo L2400.
> > > > > > >
> > > > > > > Do you have any suggestions?
> > > > > > >
> > > > > > >
> > > > > > What is your kernel/qemu version?
> > > > >
> > > > > I'm using Debian unstable.
> > > > >
> > > > > qemu-kvm 1.1.2+dfsg-3
> > > > > Linux version 3.2.0-4-686-pae (debian-kernel@xxxxxxxxxxxxxxxx) (gcc
> > > > > version 4.6.3 (Debian 4.6.3-14) ) #1 SMP Debian 3.2.35-2
> > > > >
> > > > you met issue only for 32bit Win8 (not 64 bit Win8), right?
> > > > I think it's the same issue as the below bug I reported.
> > > > https://bugs.launchpad.net/qemu/+bug/1007269
> > > > You can try with '-cpu coreduo' or '-cpu core2duo' in qemu-kvm
> command
> > > line.
> > > >
> > > > This should be a known issue which is caused by missing 'SEP' CPU
> flag.
> > > > See another bug in Redhat bugzilla.
> > > > https://bugzilla.redhat.com/show_bug.cgi?id=821741
> > > >
> > > That was RHEL kernel bug. Doubt Debian one has it.
> > >
> > I don't think so. It should be a qemu bug (also described in that RHEL
> bugzilla).
> https://bugzilla.redhat.com/show_bug.cgi?id=821463 is the kernel one.
> 
> > In my SandyBridge platform, 32bit Win8 guest can boot up with '-cpu
> SandyBridge,+sep' in qemu-kvm CLI.
> > But it can't boot up with '-cpu SandyBridge'.
> >
> Which qemu version? Master has sep in SandyBridge definition. In any
> case -cpu host should have sep enabled.
> 
Oh, sorry for my bad memory. I'm not sure it's about SEP.
I shouldn't have taken 'SandyBridge' model as an example because 32bit Win8 can boot up on 'SandyBridge' model.
'qemu64' is the default CPU model in QEMU/KVM on x86-64, but its 'family number' definition is not accurate. 
The vendor of 'qemu64' is defined as 'AMD'.
For AMD processors, AMD K8 CPU (e.g. AMD Family 15) firstly introduced SSE3 instruction set.
'qemu64' already has 'CPUID_EXT_SSE3' in its ext_features, but its family number is only 6 (not equal or bigger than 15).
If I update the family number of 'qemu64' to '15', 32bit Win8 guest can boot up with the default 'qemu64' CPU model.
32bit Win8 may have some requirements of a 64bit CPU model.
The following patch can be a fix for 'qemu64' definition. 

diff --git a/target-i386/cpu.c b/target-i386/cpu.c
index 78bd61e..89b203b 100644
--- a/target-i386/cpu.c
+++ b/target-i386/cpu.c
@@ -363,7 +363,7 @@ static x86_def_t builtin_x86_defs[] = {
         .vendor1 = CPUID_VENDOR_AMD_1,
         .vendor2 = CPUID_VENDOR_AMD_2,
         .vendor3 = CPUID_VENDOR_AMD_3,
-        .family = 6,
+        .family = 15,
         .model = 2,
         .stepping = 3,
         .features = PPRO_FEATURES |
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux