[coreboot] CBFS searches in Coreboot and SeaBIOS

Kevin O'Connor kevin at koconnor.net
Sat Sep 26 02:07:15 CEST 2009

On Fri, Sep 25, 2009 at 09:30:42AM -0600, Myles Watson wrote:
> Could we change the searches for PCI ROMs so that we look through CBFS
> and then for each ROM we find in CBFS we find the device instead of
> vice versa?

SeaBIOS needs to run roms located on external PCI cards, so it can't
just walk the list of CBFS roms.

>It seems like we wouldn't lose a lot of generality, but
> we'd lose a lot of spew in the logs.

I'd just lower the debug level to reduce the log spew.

If you're concerned about performance, then I suggest running some
tests.  On my machine the time to walk the CBFS was negligible.  In
SeaBIOS, there is tools/readserial.py which can show the timing for
log messages.  I use:

tools/readserial.py /dev/ttyUSB0 115200

This tool will read the serial port, and show each message with a time
delta - it will subtract out the cost of the serial port write when
showing the timing.  (It will also keep a log - for example:
seriallog-20090916_220220.log)  How about running it and forwarding
the results for your machine?

Ultimately, I think it would probably be simpler to cache the list of
files in CBFS then it would be to rework the option rom scanning.
However, it would be even simpler to just enable caching of the rom.
This is something I'd like to see coreboot do anyway - not because of
the cost of cbfs walking, but because lzma decompression is really
slow due to lack of caching.


More information about the coreboot mailing list