Kernel Bug Tracker – Bug 21402
[KVM] Noacpi Windows guest can not boot up on 32bit KVM host
Last modified: 2011-01-04 10:20:53 UTC
Host OS: ia32pae
Guest OS: ia32pae
Guest OS Type (Linux/Windows): Windows xp/2000/2003 (no acpi)
kvm.git Commit: ce3d55e0d36be8f3e3b5a593d0e0b1c476701d82
Host Kernel Version: 2.6.36-rc3
Hardware: Westmere-WP and Sandybridge
Bug detailed description:
On IA32PAE KVM host system, Windows guest can not boot up without apci on(include Windows xp, 2000, 2003)
This is a regression issue
Uing currectly kvm, I changed qemu-kvm to a old commit 945b6fa1a023e6eb858489bd58e7d786fdc53a32, this issue can be reproduced too.
On IA32E KVM host, both acpi and Noacpi Windows guest can boot up normally.
Is there a known working kernel commit?
(In reply to comment #2)
> Is there a known working kernel commit?
As I know, kvm commit 488ba6955d2a1d87a8addefe7193ec86527fe796(Sep.2010) worked fine.
Does not reproduce with kvm.git c093b8b46c5f0dd12d799f0d6a3b579863df72f6
Cannot reproduce with ce3d55e0d36be8f3e3b5a593d0e0b1c476701d82.
Any special way to reproduce it? What's the qemu command line?
Is it an ordinary boot or an install?
At what stage does it fail?
(In reply to comment #5)
> Any special way to reproduce it? What's the qemu command line?
In the installation step long before, we installed different images, acpi supported/noacpi supported etc.
Now the failure happen on that booting a Windows guest with a no-acpi supported image.
comnand line "qemu-system-x86_64 -hda ./win.img -m 512", "qemu-system-x86_64 -hda /root/qcow.img -m 512 -no-acpi" fail to boot Windows guest with this image either.
Before this failure kvm commit, the two commands all can boot no-apci Windows guest successfully.
> Is it an ordinary boot or an install?
An ordinary booting.
> At what stage does it fail?
Guest OS hang at "booting from hard disk".
I wasn't able to reproduce, please capture a trace for me so I can analyze the issue:
- make sure CONFIG_TRACEPOINTS is enabled
- install kvm.git master
- install the udis86 and udis86-devel package
- download and install trace-cmd from git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/trace-cmd.git
- run trace-cmd record -b 200000 -e kvm qemu-system-x86_64...
- stop qemu when it hangs
- post the resulting trace.dat somewhere
Also, please post the results of running 'info registers' and 'x/50i $eip - 50' in the qemu monitor (-monitor stdio makes it easier).
This _may_ be fixed by a0272630bb594b4eac03a79e77957df7dad8eade, kvm.git 'next' branch.
Resolved by upstream d0dfc6b74a0c6e9ee46b62713256e2b025244d3c.