[coreboot] Some SeaBIOS timings
kevin at koconnor.net
Sun Dec 6 03:31:45 CET 2009
On Wed, Dec 02, 2009 at 10:03:39PM -0500, Kevin O'Connor wrote:
> I decided to rerun some timing tests on my epia-cn.
> With some hacking, I've gotten the time from power-on to SeaBIOS boot
> menu down to 850ms. Of this time, 530ms is coreboot, 210ms is via vga
> rom, 60ms is usb init (and other hardware probes), and 30ms is time to
> copy and decompress vga rom from flash.
I've done some additional tests, and I've gotten the time from
power-on to boot menu down to 765ms (490ms for coreboot and 275ms for
At this point, I think the hardware costs are dominating the execution
on this board - I only see a few minor ways to further improve
To get to these numbers, I removed debugging reports (I try to account
for the cost of serial, but it's not perfect), reduced the time
coreboot spends calibrating its timers (20ms to 2ms), and (partly)
parallelized the VGA BIOS execution.
SeaBIOS currently uses a cooperative multi-tasking scheme, so it can't
fully parallelize the vga rom. Instead, I just delayed launching the
vga rom until after hardware init had started so that some of the
setup time overlaps. I haven't checked this change in - I'm not sure
it's fully safe.
More information about the coreboot