[coreboot] coreboot+seabios timings

Scott Duplichan scott at notabs.org
Mon Oct 18 04:54:49 CEST 2010

]> ]> For coreboot+seabios, I get a power on to DOS boot time of around 2.7
]> ]> seconds. This is with USB enabled and a 5400 rpm sata drive. While 2.7
]> ]> seconds is good, there is probably room for improvement. I would like
]> ]> to see a bigger coreboot advantage over UEFI. All of these numbers are
]> ]> for AMD hardware with family 10h processors.
]> ]
]> ]Thanks.  Can you post the debug output using SeaBIOS'
]> ]tools/readserial.py program?  I'd be curious to see where the time is
]> ]spent.
]> ]
]> ]Also, try the SeaBIOS options CONFIG_THREAD_OPTIONROMS and
]> ]CONFIG_ATA_DMA.  (The ATA DMA can be a little finicky though - fixing
]> ]it is on my todo list.)
]> I am not sure how to get that script to run from windows. I get:
]> $ python ../seabios-for-coreboot/tools/readserial.py com1 115200
]> Traceback (most recent call last):
]>   File "../seabios-for-coreboot/tools/readserial.py", line 129, in <module>
]>     main()
]>   File "../seabios-for-coreboot/tools/readserial.py", line 114, in main
]>     import serial
]> ImportError: No module named serial
]Thanks for the report.  You need the pyserial package - see:
]I've updated the script to make this more descriptive.
]> But it hardly matters. I think coreboot is taking most of the time. For
]> example, I noticed a hesitation at:
]>      "copying VGA ROM Image from %p to 0x%x, 0x%x bytes\n"
]It's best to let SeaBIOS run the rom - try setting CONFIG_VGA_ROM_RUN
]and CONFIG_PCI_ROM_RUN to off in coreboot.  Also, set
]> With these two changes, boot time is reduced by 650 ms. Now the boot
]> time is around 2.050 seconds. That is from power switch off (standby
]> power on) to DOS prompt.
]> By the way, I tried your other suggestions and did not see much
]> of a difference. I do need to get an SSD drive because the
]> randomness in the rotating drive makes precise measurements
]> difficult. The DMA hardly matters for DOS where only a few KB
]> are read from disk. But it could be very important for OS booting,
]> where as much as hundreds of MB are read from disk using BIOS calls.
]Yeah - I found the SSD to be a big win on boot times - simply because
]it eliminated the spin-up delay.  I also tried USB drives and a
]compact flash card with an ATA/SATA adapter, but all three exhibited
]"spin-up" delays.

Hello Kevin,

Thanks. I had already noticed the double KB init and turned off the
coreboot instance. I switched to seabios execution of video option 
roms and found an immediate improvement. Before, I had a problem adding
a PCI video card. It seems like coreboot would execute the uma option
rom instead of the PCI option rom. After changing to seabios execution 
of option roms, it now works correctly. I can boot either uma video or
pci video without changing my image. I probably need to get an SSD drive
at this point. I found with the drive already spinning, boot time is 
around 1.70 seconds. However I remembered a 40 ms delay inside the PCIe
training loop. I had removed it to speed up simnow execution. With the
delay restored, boot time goes up by 270 ms or so. That delay needs some
optimization. I see it is called even for non-existent PCIe devices.


More information about the coreboot mailing list