07.05.2015 09:12, Michael Tokarev wrote: > 07.05.2015 04:11, G 3 wrote: >> Did you boot Windows XP to the desktop? I have tested Windows 95, Windows >> 2000, and Windows XP. All of them fail to boot to the desktop. > > Yes, booted to desktop and did some minimal work in there, > installnig one update or two. > >> Command used: >> ./i386-softmmu/qemu-system-i386 -boot c -hda "Windows XP Hard Drive.img" > > Aha. You run without kvm, in tcg mode. I don't usually do that, > lemme try...
Ok, I can reproduce this, winXP BSODs on boot in tcg mode. Git bisect points to this: commit 23820dbfc79d1c9dce090b4c555994f2bb6a69b3 Author: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Date: Mon Mar 16 22:35:54 2015 -0700 exec: Respect as_translate_internal length clamp address_space_translate_internal will clamp the *plen length argument based on the size of the memory region being queried. The iommu walker logic in addresss_space_translate was ignoring this by discarding the post fn call value of *plen. Fix by just always using *plen as the length argument throughout the fn, removing the len local variable. This fixes a bootloader bug when a single elf section spans multiple QEMU memory regions. Signed-off-by: Peter Crosthwaite <peter.crosthwa...@xilinx.com> Message-Id: <1426570554-15940-1-git-send-email-peter.crosthwa...@xilinx.com> Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> Cc'ing relevant people. /mjt