[SeaBIOS] S3 resume is broken on QEMU

Gerd Hoffmann kraxel at redhat.com
Thu Jan 19 10:52:19 CET 2012


  Hi,

>> The current SeaBIOS checks fwcfg for a "file" named
>> "etc/s3-resume-vga-init" - if it exists it will use it.  This works on
>> all versions of qemu (though, of course, on current qemu the file
>> isn't found and the default is to not run the vgabios on resume).
>>
> This is strange definition of "works" :) It does not run vga rom on
> resume which makes Linux fail to resume properly. I wouldn't call that
> "works". We can provide "etc/s3-resume-vga-init" through fwcfg in QEMU,
> but this will not make older QEMUs magically work.

S3 support in qemu isn't (yet) very useful anyway, so I don't think we
have to worry too much, especially about older versions.  Beside that I
guess older qemus don't work anyway, for me it works like this (with
rhel-5 as guest):

Setting etc/s3-resume-vga-init to 1 makes resume hang with "Running
option rom at c000:0003" being the last line seabios prints.  Maybe
vgabios attempts to do something which is illegal on resume and blows up.

When setting etc/s3-resume-vga-init to 0 linux resumes fine.  vga text
console is dead indeed.  Serial console works fine though and the system
is alive.  When suspending with cirrus vga and X11 being active the
system comes out of standby with vga console being functional too.

> I am also not asking to change SeaBIOS default. Just get us back compile
> time option to always enable it.

I think using etc/s3-resume-vga-init to control this is just fine ...

cheers,
  Gerd



More information about the SeaBIOS mailing list