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