Message ID | 20120207084439.GA23536@redhat.com |
---|---|
State | New |
Headers | show |
On Tue, Feb 07, 2012 at 10:44:39AM +0200, Gleb Natapov wrote: > On Mon, Feb 06, 2012 at 07:09:42PM -0500, Kevin O'Connor wrote: > > Perhaps a semantic distinction, but I don't consider that to be a > > seabios defect. > > > Non optimal default. The default didn't change BTW, but it was config > parameter before and we changed it for RHEL. Now config parameter is > gone. Config parameter moved from compile time to runtime. But I agree it is unfortunate that knowledge of that didn't get to the right people. > > In any case, I don't think this was addressed. Gerd published a patch > > that can address this in qemu: > > http://www.seabios.org/pipermail/seabios/2012-January/002944.html > > > Strictly speaking the patch is incorrect since it introduces the file > for all architectures, but I do not think qemu is the right place to > tune SeaBIOS defaults. I propose this patch instead: [...] > // 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", !CONFIG_COREBOOT); > ScreenAndDebug = romfile_loadint("etc/screen-and-debug", 1); I'm concerned about the VGA passthrough case. (I know that's not common and has other issues, but I also know several people have been working with it.) As near as I can tell, running the VGA rom on S3 resume has as much chance of breaking things as helping things. It's fine for the cirrus/bochsvga vgaroms that are totally under our control, but it'd be an open guess for any third-party code. (Again, if someone has documentation to the contrary please let me know.) So, compiling this into SeaBIOS doesn't seems like the right choice to me. -Kevin
On Tue, Feb 07, 2012 at 07:35:34PM -0500, Kevin O'Connor wrote: > > > In any case, I don't think this was addressed. Gerd published a patch > > > that can address this in qemu: > > > http://www.seabios.org/pipermail/seabios/2012-January/002944.html > > > > > Strictly speaking the patch is incorrect since it introduces the file > > for all architectures, but I do not think qemu is the right place to > > tune SeaBIOS defaults. I propose this patch instead: > [...] > > // 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", !CONFIG_COREBOOT); > > ScreenAndDebug = romfile_loadint("etc/screen-and-debug", 1); > > I'm concerned about the VGA passthrough case. (I know that's not > common and has other issues, but I also know several people have been > working with it.) As near as I can tell, running the VGA rom on S3 > resume has as much chance of breaking things as helping things. It's > fine for the cirrus/bochsvga vgaroms that are totally under our > control, but it'd be an open guess for any third-party code. (Again, > if someone has documentation to the contrary please let me know.) > VGA passthrough does not work with QEMU without code changes. Whoever works on it will have to provide etc/s3-resume-vga-init file with appropriate value. My patch above does not remove run time selection, it only changes the default. > So, compiling this into SeaBIOS doesn't seems like the right choice to > me. > It is still run time selectable. I think it is best of both worlds. -- Gleb.
On Wed, Feb 08, 2012 at 09:18:24AM +0200, Gleb Natapov wrote: > On Tue, Feb 07, 2012 at 07:35:34PM -0500, Kevin O'Connor wrote: > > I'm concerned about the VGA passthrough case. (I know that's not > > common and has other issues, but I also know several people have been > > working with it.) As near as I can tell, running the VGA rom on S3 > > resume has as much chance of breaking things as helping things. It's > > fine for the cirrus/bochsvga vgaroms that are totally under our > > control, but it'd be an open guess for any third-party code. (Again, > > if someone has documentation to the contrary please let me know.) > > > VGA passthrough does not work with QEMU without code changes. Whoever > works on it will have to provide etc/s3-resume-vga-init file with > appropriate value. My patch above does not remove run time selection, it > only changes the default. True. I view running the vgabios on s3 a hack and think an explicit "please apply hack" flag is nicer than the inverse. However, it's clear this hack helps the majority of qemu/kvm users. So, I'm okay with changing the default. It is a change of default though (upstream kvm/qemu has never run the vgabios on s3 resume before). So, we need to make sure there's proper notice of the change and assuming no objection I'll go forward with it. -Kevin
diff --git a/src/optionroms.c b/src/optionroms.c index 27cfffd..06db1c1 100644 --- 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", !CONFIG_COREBOOT); ScreenAndDebug = romfile_loadint("etc/screen-and-debug", 1); if (CONFIG_OPTIONROMS_DEPLOYED) {