On Sun, Apr 19, 2009 at 8:38 AM, Kevin O'Connor kevin@koconnor.net wrote:
I did some local optimizations and have some more info.
I disabled keyboard init in coreboot-v2 - saves 400ms.
I disabled ATA reset in SeaBIOS on first boot.
I exit out of a CBFS search in SeaBIOS if the file signature is zero (CBFS is zero padding instead of ff padding).
You could also only read it once and save the devid and address of ROMs if there are any.
This brings the boot time on reset to 1.7 seconds (reset press to grub launch - doesn't include 2.5 seconds at boot menu). Boot from powerup takes a bit longer - 8.9s (7 seconds is for drive spinup).
Another optimization I could make would be to reduce the 90ms it takes to copy the vga rom from flash. Using 4 byte reads instead of 1 byte reads will likely help. However, enabling an mtrr for the flash would likely lead to the best results.
We have been discussing this in another thread. The 4byte read will make the most improvement and the cache only helps a lot if the ROM is compressed. You are still bound by the width and speed of the ROM access. LPC/FWH is typically setup to be very slow.
Marc