[SeaBIOS] S3 resume is broken on QEMU

Kevin O'Connor kevin at koconnor.net
Fri Jan 20 02:22:00 CET 2012


On Thu, Jan 19, 2012 at 09:02:09AM +0200, Gleb Natapov wrote:
> And there I pointed out that many BIOSes has an option to run vga BIOS on
> resume and even link to a post with description of the same problem we
> have in QEMU + Linux resuming to console. So the problem is a not product
> of my imagination.

It is a real issue.  Running the vgabios helps some people on real
hardware too.  That's why the option is in seabios, and it's why the
option was made runtime instead of compile time.

> > If someone can point out a spec to the contrary I'd be happy to change
> > the default in SeaBIOS.
> > 
> There is spec and there is real life. Real life should take precedence.
> There is not way OSMP can restore unknown state of a random vga card without
> special driver for that card. This is why vgabios exists in the first place.
> 
> I am also not asking to change SeaBIOS default. Just get us back compile
> time option to always enable it.

I'm sorry the 8b0c509e7cdb change bit you.  I didn't know of the
dependency on the compile time option - had I known I would have made
the change more clear.

I do think moving from compile time options to runtime options is
important.  If you need a quick fix to get your build working, the
patch to seabios is below.  I do think we should try to figure out how
we can get options passed into SeaBIOS effectively.

-Kevin


--- a/src/optionroms.c
+++ b/src/optionroms.c
@@ -423,7 +423,7 @@ vga_setup(void)
 
     // Load some config settings that impact VGA.
     EnforceChecksum = romfile_loadint("etc/optionroms-checksum", 1);
-    S3ResumeVgaInit = romfile_loadint("etc/s3-resume-vga-init", 0);
+    S3ResumeVgaInit = romfile_loadint("etc/s3-resume-vga-init", 1);
     ScreenAndDebug = romfile_loadint("etc/screen-and-debug", 1);
 
     if (CONFIG_OPTIONROMS_DEPLOYED) {



More information about the SeaBIOS mailing list