On 02/14/13 23:24, David Woodhouse wrote:
On Thu, 2013-02-14 at 21:41 +0100, Laszlo Ersek wrote:
I noticed that under OVMF + SeaBIOS CSM + your related patches for both, reset requested by the guest doesn't work as expected. The behavior is an infinite loop, with the following debug fragment repeated by the CSM-ized SeaBIOS:
In resume (status=0) In 32bit resume Attempting a hard reboot i8042_wait_write
Hmm. My build from http://david.woodhou.se/OVMF.fd works fine. I did a legacy boot into (Ubuntu Oneiric's) Grub, then issued the 'reboot' command...
This appears to be the case for qemu 1.2.0 and 1.3.0, both with and without KVM.
I retested: - on a pristine v3.0.0 host kernel, and - a pristine v1.3.1 qemu build (+ KVM enabled), and - using your OVMF.fd from the above link (which of course includes your build of the CSM-ized SeaBIOS).
Same infinite loop, alas...
(i) What is your host kernel exactly?
(ii) And when you say you did a "legacy boot", does that mean you installed the guest OS as a traditional one? Is that grub or grub-efi?
In my case the guest is a "full" UEFI installation of RHEL-6: I perform an UEFI boot from an emulated IDE disk to load grub-efi (which is thus pointed to by a non-BBS-devpath). The only thing I'm using the CSM for is the GOP based on vgabios-cirrus.bin
(iii) Can vgabios.bin make a difference? Could you please upload your build? I gather you use stdvga; I also tried that, makes no difference, same loop.
Comparing our logs,
--- dwmw2.log 2013-02-15 18:47:39.654360652 +0100 +++ lersek.log 2013-02-15 18:49:18.061364128 +0100 @@ -1,18 +1,12 @@ -enter handle_13: - a=00004200 b=00000801 c=0000003f d=00000080 ds=6000 es=0000 ss=0000 - si=0000fe00 di=00000000 bp=00001ff0 sp=00001ff2 cs=0000 ip=9157 f=0202 -disk_op d=0x0000db20 lba=9269505 buf=0x00068000 count=63 cmd=2 -pmtimer: 2:15494096 -pmtimer: 2:15494211 +enter handle_15: + a=00002401 b=00004118 c=00000000 d=00000003 ds=0000 es=4000 ss=4000 + si=00000000 di=00004380 bp=00000000 sp=0000ffc6 cs=4f00 ip=0030 f=3002 +Trying to allocate 971 pages for VMLINUZ +[Linux-EFI, setup=0x10fa, size=0x3ca030] + [Initrd, addr=0x3c089000, size=0xf68cb9] +\u02d9Changing serial settings was 0/0 now 3/0 In resume (status=0) In 32bit resume Attempting a hard reboot i8042_wait_write -pmtimer: 2:15501497 -pmtimer: 2:15501593 -pmtimer: 2:15501750 -SecCoreStartupWithStack(0xFFFE6000, 0x80000) -File->Type: 0xB -Section->Type: 0x2 -Section->Type: 0x19 -Section->Type (0x19) != SectionType (0x17) +Changing serial settings was 0/0 now 3/0 [...]
Thanks Laszlo