On Wed, May 11, 2011 at 02:46:53AM +0200, Peter Stuge 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.
One will require all the BIOS interfaces, but the hardware drivers shouldn't be needed. So, in SeaBIOS' Kconfig menu, disabling stuff in "BIOS interfaces" is risky, but one can pretty much disable all the features under "General Features" and "Hardware support".
- Could the bare minimum be implemented in a stripped-down modified
SeaBIOS?
Not really.
Removing the hardware drivers and other niceties can be done.
Note that SeaBIOS is already pretty small (~96K uncompressed / 45K compressed), so I doubt cutting out features would matter much for size. (In a quick test, pulling out everything but interfaces brought the size to ~45K/24K.) However, it could be done if one doesn't want to bother initializing hardware (eg, USB) twice.
-Kevin