[coreboot] Long boot delay with a large CBFS
gardner.ben at gmail.com
Mon Nov 16 22:12:24 CET 2015
On Mon, Nov 16, 2015 at 2:09 PM, Stefan Reinauer
<stefan.reinauer at coreboot.org> wrote:
> * Ben Gardner <gardner.ben at gmail.com> [151116 19:32]:
>> [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.
> Sounds like your CBFS file got corrupted. Anything you can share about
> your build (e.g. log, source code) will raise the chance of getting this
> Are you running without ME firmware? What do your sections look like in
> the firmware descriptor?
Yes, I am using the ME that came with the 'Gold 4' FSP.
The regions are as follows.
Flash Region 0 (Flash Descriptor): 00000000 - 00000fff
Flash Region 1 (BIOS): 00140000 - 00ffffff
Flash Region 2 (Intel ME): 00001000 - 0013ffff
Flash Region 3 (GbE): 00001000 - 00000fff (unused)
Flash Region 4 (Platform Data): 00fff000 - 00000fff (unused)
I think I found what may have been the issue, but I'm not sure.
I had enabled "fast boot" without fixing the "Virtual ROM Size", which
was set to 8 MB instead of 16 MB.
Side note: I had started with building an 8 MB image before I figured
out how to adjust the IFDT for 16 MB and my flash part, so that is
likely where that mismatch came from.
I assume this overwrote an important part of the CBFS space when it
saved the fast boot cache data
That would "corrupt" the CBFS on subsequent boots and cause coreboot
to iterate over the 14 MB empty space.
I have since drastically changed the layout of the CBFS, so that may
be why I can't reproduce the delay now.
More information about the coreboot