[SeaBIOS] [PATCH 5/5] [wip] sercon: initial split-output implementation

Kevin O'Connor kevin at koconnor.net
Tue Oct 4 05:03:34 CEST 2016


On Tue, Sep 27, 2016 at 02:00:08PM +0200, Gerd Hoffmann wrote:
> On Fr, 2016-07-15 at 10:35 -0400, Kevin O'Connor wrote:
> > On Fri, Jul 15, 2016 at 01:49:49PM +0200, Gerd Hoffmann wrote:
> > > > Finally, one high level observation is that we know there are a number
> > > > of quirks in various vgabios emulators.  For example, we know some
> > > > emulators don't handle certain 32bit instructions when in 16bit mode
> > > > (hence scripts/vgafixup.py), we know some versions of Windows use an
> > > > emulator that doesn't like some stack relative instructions (hence the
> > > > vgabios is compiled without -fomit-frame-pointer), and we know Windows
> > > > Vista doesn't like the extra stack in high ram (the skifree bug).  Any
> > > > thoughts on what happens with these quirks if the main seabios code
> > > > hooks int10?
> > > 
> > > Good question.  Do the emulators (both win, xorg) use the int10 vector
> > > set by seabios in the first place?  Or go they load the vgabios and run
> > > it, including the initialization, and use whatever entry point the init
> > > code sets up?  I suspect it is the latter.  But needs investigation and
> > > testing.
> > 
> > I think they just call the existing int10 handler.  In general, it's
> > not safe to rerun the vga init code.  Also, if they did run the init
> > it would lead to extra copies of the SeaVGABIOS version banners in the
> > debug logs, which I don't recall seeing.
> 
> Finally found the time to continue with this and ran a bunch of tests.
> RHEL-5 (known to be affected by x86emu issue) continues to work fine.
> Xorg server log looks like it goes scan memory for the vgabios instead
> of depending on the int10 vector:

Interesting.  I'm curious how the memory scan works, because I didn't
think there was any way to find the vga entry point except from the
int10 vector.

Were you looking to include this series in SeaBIOS v1.10?  We can
either delay the release or push the changes into the next release.
Also not sure where Igor's patches stand wrt inclusion into QEMU.

-Kevin



More information about the SeaBIOS mailing list