On Wed, May 11, 2011 at 10:46 AM, Peter Stuge peter@stuge.se wrote:
Graeme Russ wrote:
Would be interesting to investigate implementing a stub in U-Boot to initialise and use VGA option ROMs
VGA option ROMs call BIOS functions. So, one needs a BIOS implementation (eg, SeaBIOS) or an emulator for them (eg, in coreboot).
How many functions are needed?
That depends completely on the particular VGA option ROM.
Having as complete a BIOS environment as can possibly be accomplished is the only hope to making arbitrary option ROMs work.
Option ROMs are heavily tied into the BIOS concept.
(surely not all the IDE and keyboard stuff for example)
I think I've seen some VGA option ROM get stuck waiting for non-working keyboard BIOS services.
- Could the bare minimum be implemented in a stripped-down modified
SeaBIOS?
Not really.
All this because stupid hardware manufacturers refuse to release details of how to do even the most basic of functions with their hardware :(
Welcome to coreboot.
OK, well maybe the coreboot/u-boot scenarion goes like this:
1) coreboot initialises SDRAM and other 'critical' hardware 2) coreboot launches a U-Boot payload 3) If U-Boot does not care about console output then move on and boot the OS 4) If U-Boot has a driver for the video hardware then use it for console output 5) If U-Boot does not have a driver then load SeaBIOS (modified a bit) and the VGA option ROM and use BIOS calls for console output
horrid, horrid, horrid
Regards,
Graeme