public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
* Windows guest reboot failure
@ 2007-09-26  7:15 He, Qing
       [not found] ` <37E52D09333DE2469A03574C88DBF40FA9C256-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 7+ messages in thread
From: He, Qing @ 2007-09-26  7:15 UTC (permalink / raw)
  To: kvm-devel

Hi folks,
	I found that Windows guests often fail reboots in current
kvm.git. Either the guest hangs, or it reports double fault exception
which causes qemu aborts. This is not shown with -no-kvm-irqchip option.

	After some investigation, it seems that this is caused by lack
of in-kernel components reset. Several windows guests will write RESET
command to 8042, the keyboard controller. On receiving the command, qemu
device model will call qemu_system_reset() to reset everything to the
initial state. However, this mechanism is broken when in-kernel
components is introduced: qemu doesn't communicate the reset request to
kvm, so kvm uses stale device state on the next booting, which fails
reboot.

	To resolve this, there are at least two options:
	1. modify qemu_system_reset(), so that qemu destroys kvm context
and re-creates.
	2. introduce a new ioctl, say KVM_RESET, to kvm. On receiving
this ioctl, the kernel calls reset handlers registered by other
components (vcpu, lapic, pic, ioapic, pit, etc.), either against vm or
against each vcpu.

	IMO, the first one is easier in modification and maintaining,
but the second one is closer to qemu logics. Which do you think is more
appropriate?

Any comment?

Thanks,
Qing

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-09-27  9:22 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-26  7:15 Windows guest reboot failure He, Qing
     [not found] ` <37E52D09333DE2469A03574C88DBF40FA9C256-wq7ZOvIWXbM/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-09-26  7:36   ` Dor Laor
2007-09-26  8:55   ` Avi Kivity
     [not found]     ` <46FA1E70.8080802-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-26 11:03       ` Dong, Eddie
     [not found]         ` <10EA09EFD8728347A513008B6B0DA77A02249DBF-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-09-27  9:09           ` Avi Kivity
     [not found]             ` <46FB733B.4080102-atKUWr5tajBWk0Htik3J/w@public.gmane.org>
2007-09-27  9:02               ` Dong, Eddie
     [not found]                 ` <10EA09EFD8728347A513008B6B0DA77A022AE425-wq7ZOvIWXbNpB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2007-09-27  9:22                   ` Avi Kivity

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox