On Mon, Jul 08, 2013 at 08:18:42PM -0400, Cole Robinson wrote:
On 07/08/2013 07:18 PM, Kevin O'Connor wrote:
On Mon, Jul 08, 2013 at 05:23:40PM -0400, Cole Robinson wrote:
On 07/07/2013 11:41 PM, Kevin O'Connor wrote:
The 1.7.3 version of SeaBIOS has now been released. For more information on the release, please see:
Just gave it a spin, breaks booting a Windows 7 VM for me. Using qemu-1.4.2 from Fedora 19 as well as qemu.git.
Here's the BSOD (F19 qemu and seabios 1.7.3): http://crobinso.fedorapeople.org/misc/seabios_1.7.3_windows_err.png
Thanks for testing. I have a "Windows 7 Ultimate" beta (build 7100) that I tested with and I don't see this problem. (Nor do I see the problem on WinXP.)
Can you try without smp and with a smaller memory size (eg, 512M) to see if the behavior changes.
Hmm, my winxp 32 guest is reproducing as well. And I can reproduce with just the windows 7 media (mine is ultimate N, came off MSDN years ago):
~/src/qemu/x86_64-softmmu/qemu-system-x86_64 -m 512 -sdl -cdrom /mnt/data/devel/media/win7_64.iso -boot d -bios ~/src/seabios/out/bios.bin
vista and windows 8 preview media are reproducing for me too.
Maybe it's a toolchain thing, anyone else on Fedora 19 that can independently confirm?
Ugh - make sure you aren't using an old acpi-dsdt.aml file. I suggest following the steps outlined in the SeaBIOS README file for creating a mybiosdir/ directory and use the QEMU -L option to point to that directory.
Otherwise...
I compile under FC17. I have pre-packaged binaries available at:
http://code.coreboot.org/p/seabios/downloads/
Also, could you post the log output. Add the following to qemu to produce it:
qemu ... -chardev stdio,id=seabios \ -device isa-debugcon,iobase=0x402,chardev=seabios ...
Otherwise, we'll need to iterate through each change in the 76e58028 commit and find out which part of the DSDT that your copy of Windows doesn't like.
I'll probably need some hand holding through that, I can't tell from looking at the patch what parts are independent.
You'll want to do something like:
--- a/src/acpi-dsdt-pci-crs.dsl +++ b/src/acpi-dsdt-pci-crs.dsl @@ -56,6 +56,8 @@ Scope(_SB.PCI0) { })
Method(_CRS, 0) { + Return (CRES) +#if 0 /* Fields provided by dynamically created ssdt */ External(P0S, IntObj) External(P0E, IntObj) @@ -86,5 +88,6 @@ Scope(_SB.PCI0) { /* add window and return result */ ConcatenateResTemplate(CRES, CR64, Local0) Return (Local0) +#endif } }
and then move the "Return" and "#if 0" down until you find the offending code.
-Kevin