qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Windows 7 shutdown causes BSOD


From: Gleb Natapov
Subject: Re: [Qemu-devel] Windows 7 shutdown causes BSOD
Date: Thu, 17 Nov 2011 08:37:15 +0200

On Thu, Nov 17, 2011 at 02:29:47PM +0800, hkran wrote:
> On 11/16/2011 06:51 PM, Gleb Natapov wrote:
> >On Wed, Nov 16, 2011 at 10:48:15AM +0000, Stefan Hajnoczi wrote:
> >>On Wed, Nov 16, 2011 at 10:14 AM, hkran<address@hidden>  wrote:
> >>>On 11/15/2011 09:17 PM, Stefan Hajnoczi wrote:
> >>>>On Fri, Nov 4, 2011 at 11:25 AM, Stefan Hajnoczi<address@hidden>
> >>>>  wrote:
> >>>>>On Fri, Nov 4, 2011 at 10:48 AM, Stefan Hajnoczi<address@hidden>
> >>>>>  wrote:
> >>>>>>Windows 7 32-bit guest blue screens when I shut it down properly with
> >>>>>>Start | Shut Down.  The blue screen is only displayed for a split
> >>>>>>second before the guest reboots so I am not able to easily tell what
> >>>>>>it says.  My guess is that Windows is triple-faulting or soft
> >>>>>>rebooting - note that I told Windows to shut down, not reboot.
> >>>>>>
> >>>>>>This issue happens on qemu.git/master (and Debian kvm 0.14.1+dfsg-3).
> >>>>>>Here is the QEMU command-line:
> >>>>>>
> >>>>>>x86_64-softmmu/qemu-system-x86_64 -L pc-bios -cpu qemu32 -enable-kvm
> >>>>>>-m 1024 -rtc base=localtime -drive
> >>>>>>file=win7.img,if=none,id=drive-ide0-0-0,format=raw -device
> >>>>>>ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1
> >>>>>>
> >>>>>>Questions:
> >>>>>>
> >>>>>>Is anyone else experiencing this?
> >>>>>>
> >>>>>>Is anyone fixing this?
> >>>>>>
> >>>>>>If not I will play with it.  Disabling ACPI might reveal the source of
> >>>>>>the problem.  If that turns up nothing I will try to get the BSOD or
> >>>>>>WinDbg output.
> >>>>>Thanks to Andreas Faerber and Michael Tokarev I found out the
> >>>>>automatic reboot can be disabled in Windows.  Here is the BSOD
> >>>>>information:
> >>>>>
> >>>>>IRQL_NOT_LESS_OR_EQUAL
> >>>>>STOP: 0x0000000A (0x00000000,0x000000FF,0x00000001,0x828B7220)
> >>>>This decodes to:
> >>>>"Windows or a kernel-mode driver accessed paged memory at
> >>>>DISPATCH_LEVEL or above."
> >>>>
> >>>>Memory referenced: 0x00000000
> >>>>IRQL: 0xff
> >>>>Read/write: Write (1)
> >>>>Address which referenced memory: 0x828B7220
> >>>>
> >>>>http://msdn.microsoft.com/en-us/library/ff560129%28v=VS.85%29.aspx
> >>>>
> >>>>Looks like a NULL pointer reference or maybe a deliberate "we should
> >>>>never get here" failure.
> >>>>
> >>>>Stefan
> >>>>
> >>>I can reproduce this bug in my environment and found out that it has
> >>>something with the type of "CPU".
> >>>I tried the command line args as the same as Stefan's and definitely casue
> >>>the BSOD.
> >>>If i change the "-cpu qemu32" to "-cpu qemu64" or "-cpu core2duo" or
> >>>nothing. it will shutdown as expected, that means something?
> >>Thanks for sharing.  The guest is definitely sees a differed CPUID and
> >>can therefore take different code paths.  I'm not sure what
> >>specifically could have changed.
> >>
> >Try adding/removing individual cpuid bits.
> >
> >--
> >                     Gleb.
> >
> It seems that the .model = 3 for "qemu32" type in struct
> builtin_x86_defs in the file target-i386/cpuid.c make it failed.
> if I changed it to "2" which is the same as "qemu64". it will be OK.
Enable tracing like this:
# echo kvm:kvm_msr > /sys/kernel/debug/tracing/set_event
and then reboot windows with qemu32. Look for strange things in the log.
Like msr read/write that caused #GP.

--
                        Gleb.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]