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 SeaBIOS).
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 performance.
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.
-Kevin