I've completed another round of improvements and timings on my epia-cn machine. From power-on to grub serial menu is now 750ms. For comparison, the same equipment with the factory bios takes 9.9s. (To be fair though, I needed to remove the 2.5s boot menu delay in SeaBIOS to get to 750ms.)
More background info is available in the thread at: http://www.coreboot.org/pipermail/coreboot/2009-December/054561.html A breakdown of the 750ms reveals: * cpu appears to start running around 350ms * smbus power stabilizes around 400ms * 20ms to program ddr ram controller * 15ms to uncompress coreboot_ram (note flash access wasn't a factor - see below) * 10ms to run coreboot_ram * 35ms to read and uncompress seabios from flash * 40ms to read and uncompress via vga rom from flash * 200ms to run via vga option rom and turn on vga * 10ms for remaining hardware init (the hardware init runs in parallel with the 240ms for vga option rom - the 10ms is what remains after vga finishes). * 10ms time spent in grub (and in grub reads from disk) Changes since last time: * I'm using a SATA SSD (OCZ Vertex 30G) to store grub (and the OS). This device doesn't seem to require a "spin up" delay. * I've enhanced SeaBIOS to support ATA bus mastering DMA. I'll send a patch out separately with the details. This dramatically increases the speed of disk reads. * I've commented out the calls to wbinvd() in coreboot's mtrr cache_disable logic - those calls are expensive and the code seems to work without it. * While waiting for the smbus to power stabilize, I added reads to the flash to seed the cache with the bootblock and coreboot_ram. This eliminates the costly flash read time for that code. Also interesting is adding a gPXE rom (rtl8169) only added 50ms to the total SeaBIOS boot time (I set gPXE's BANNER_TIMEOUT to 0). -Kevin -- coreboot mailing list: [email protected] http://www.coreboot.org/mailman/listinfo/coreboot

