[coreboot] SeaBIOS debug output

Kevin O'Connor kevin at koconnor.net
Fri Jul 11 17:17:44 CEST 2008


On Thu, Jul 10, 2008 at 08:39:01AM -0600, Jordan Crouse wrote:
> On 09/07/08 21:40 -0400, Kevin O'Connor wrote:
> > SeaBIOS has to initialize the 8086 real mode irq vectors on startup.
> > It does overwrite the 0x10 handler that the vga bios may have
> > installed.  I don't see anyway around this - the contents of the irq
> > table could be junk and not initializing it would lead to mysterious
> > crashes.
> 
> What if coreboot ensured that it wasn't junk before you saw it?

Well, sure, we could do that.  However, that leads to multiple
software components needing to know about the quirky 8086 bios
requirements.  I'd think we'd be better off moving that all into one
place.  Coreboot could start with a stripped down bios init stage and
seabios could follow up with the full init, but I suspect that various
option roms would want more and more parts of the full init present..

> > > I'm concerned that in a payload chooser you'll want to have graphical
> > > output to allow the user to choose SeaBIOS.  If you can't run the VGA
> > > BIOS first ... that seems like a problem.
> > 
> > This was something that Stefan brought up.  He suggested having
> > SeaBIOS return to coreboot and then let coreboot select the payload.
> > However, I'm not convinced that this is the best way to go.  Making
> > sure that SeaBIOS and coreboot don't stomp on each other could be
> > difficult.
> > 
> > Another possibility is to teach SeaBIOS how to launch payloads from
> > flash.
>  
> We could also make SeaBIOS a special "must absolutely, positively run
> first" payload in the chooser so that it executes before we try to
> access the display.  I am convinced we can find a reasonable solution
> to the problem.

I totally agree that this is solvable.

It's worth noting that the init stage and boot stage of seabios is all
32bit gcc compiled C code.  (There is as much 32bit code as there is
16bit code in seabios today.)  So, whether the boot menu is in
seabios, coreboot, or a chooser - I don't think it makes a tremendous
difference.

-Kevin




More information about the coreboot mailing list