[coreboot] Integrated graphics controller on second bus?

Peter Stuge peter at stuge.se
Tue Jan 12 00:10:01 CET 2010


Andrej Skirn wrote:
> I don't see any mention of needing SeaBios to get the VGA working
> on the Wiki, although Peter Stuge suggested it.

It depends on the VGA BIOS. Some of them rely on more BIOS interrupt
services being available, some work with less services. coreboot
tries to provide some few interrupt services to please the VGA BIOS
but it is in no way a substitute for what SeaBIOS provides.

If you have native code for initializing graphics in coreboot
(currently only for the Chrome on K8M890 IIRC) then neither VGA BIOS
nor other BIOS interrupt service junk is needed - and native code
typically runs much faster because it does much less.


> This poses a problem though, since I'd like to have the screen
> working as early as possible,

How long time do you have before SeaBIOS runs the VGA BIOS? With some
optimizations, Kevin got this time down to roughly 500ms. Is that too
long? (200 of these were the VGA BIOS itself.)


> and I'm not certain it's a good idea to initialize it twice in any
> case.

Back in the day I used to do a real mode call from DOS programs to
c000:0003 which would basically re-run the VGA BIOS unless it had
self-modified during the first run. This always worked very reliably
and I expect it will still.


> I don't normally do that as it confuses my USB serial-adapter and
> just do a PCI reset instead,

I strongly recommend against this. Instead please make sure to always
power cycle, in order to always start with a clean state. It's even
good to leave power off for a while, ideally lots of seconds, to make
sure there's no charge left in power rail capacitors or RAM.


> but then SeaBios hangs in do_boot, after printing B of "Booting
> from". Without VGA BIOS it gets past this point and starts loading
> the OS. (Without display I can't tell exactly how successful it is
> at this, though).

Can you try to use the serial output to get more debug information?

Another data point might be to use Google's SGABIOS, it's a VGA BIOS
with a serial port backend.


//Peter




More information about the coreboot mailing list