[coreboot] Long boot delay with a large CBFS
Ben Gardner
gardner.ben at gmail.com
Mon Nov 16 19:32:19 CET 2015
[The previous email got chopped. This is a re-send.]
Hi all,
I have a 16 MB BIOS flash on a fsp_baytrail based design.
I tried expanding the CBFS to fill the whole space, but found that to
cause a 10-15 sec boot delay.
The offending code appears to be in cbfs_locate() in lib/cbfs.c:
if (memcmp(file.magic, CBFS_FILE_MAGIC, sizeof(file.magic))) {
offset++;
offset = ALIGN_UP(offset, CBFS_ALIGNMENT);
continue;
}
In SeaBIOS, the equivalent code does a break instead of a continue.
I'n not terribly familiar with the design goals of the CBFS.
What is the purpose behind continuing if a bad entry is encountered?
It appears that a 'bad' entry only occurs at the end of the CBFS.
Thanks,
Ben
More information about the coreboot
mailing list