[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