[coreboot] how to deal with large romstage size?

Keith Hui buurin at gmail.com
Tue Mar 1 17:30:46 CET 2011


> Hi all,
>
> After I add some memory initialisize code, the romstage is over 64K byte,and tne code can't run properly.
> Then what should I do when romstage is over 64K byte? Is romstage's size limits to 64KB?
>
> Thanks a lot!
> 2011-03-01
>

It is not a direct limitation on romstage's size, but a result of most
chipsets mapping only the top 64KB of flash to the memory space. Most
chipsets require some programming to have the entire flash rom appear
in memory. Your code didn't run properly because not all of it has
been mapped to memory space and get effectively cut.

But my romstage for Intel 440BX is only about 11KB. What chipset are
you dealing with?

Also, look at implementing TINY_BOOTBLOCK which leaves a tiny stub,
well within the 64KB limit, which does nothing but enable enough
hardware (southbridge to be exact) to make the entire rom visible,
then locates and executes the real romstage which is now just another
stage in CBFS. Again, all 440BX/PIIX4 boards implement this and can be
a reference.

Hope this help.
Keith




More information about the coreboot mailing list