[coreboot] Long boot delay with a large CBFS

Ben Gardner gardner.ben at gmail.com
Mon Nov 16 22:12:24 CET 2015


Hi Stefan,

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
> fixed.
>
> 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.

FLREG0:    0x00000000
  Flash Region 0 (Flash Descriptor): 00000000 - 00000fff
FLREG1:    0x0fff0140
  Flash Region 1 (BIOS): 00140000 - 00ffffff
FLREG2:    0x013f0001
  Flash Region 2 (Intel ME): 00001000 - 0013ffff
FLREG3:    0x00000001
  Flash Region 3 (GbE): 00001000 - 00000fff (unused)
FLREG4:    0x00001fff
  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.

Thanks,
Ben



More information about the coreboot mailing list