[SeaBIOS] (PAM stuff) reset doesn't work on OVMF + SeaBIOS CSM

Laszlo Ersek lersek at redhat.com
Fri Feb 15 19:54:40 CET 2013


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



More information about the SeaBIOS mailing list