On 11/07/08 11:17 -0400, Kevin O'Connor wrote:
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..
Hmm - I'm starting to see Stefan's concerns. Many of our payloads don't need SeaBIOS functionality, but most need (or at least will use) option ROMs (especially our good friend VGA). If there is going to be some conflict between coreboot and SeaBIOS in this area, then really, the only option is to put SeaBIOS into coreboot. I don't really favor forcing folks to start using the payload chooser to load SeaBIOS in order to grok VGA ROMs. That seems like it is asking too much of the end developer.
Jordan