[coreboot] [PATCH] use coreboot.rom for CBFS images, but default to smaller size
patrick at georgi-clan.de
Mon Jun 1 19:01:46 CEST 2009
Myles Watson schrieb:
> On Sun, May 31, 2009 at 12:10 PM, Patrick Georgi <patrick at georgi-clan.de> wrote:
>> attached patch changes the bootblock generation for CBFS images.
>> It uses coreboot.rom (padded and all), but defaults to smaller fallback/normal
>> image sizes.
>> It requires changes to each CBFS aware mainboard config (and requires adaption
>> on conversion), but it fixes using normal image (as the offsets are calculated
> I thought the next step was normal in CBFS. This doesn't seem to get
> us closer to that.
The "normal" image is executed with "jmp __normal_image". __normal_image
is defined as 8 bytes before the first byte of fallback/coreboot.rom
(the reset vector of the normal image).
Without this patch, we use fallback/coreboot.strip, which is typically
That's a nice way to automatically reduce the size of the bootblock, but
it's hard to figure out its size (without resorting to two link steps
and weird calculations inbetween), but __normal_image points to some
place where the normal image most likely doesn't reside.
Thus, we actually have to change the coreboot.rom's sizes manually (to
decrease the bootblock's size) if we want normal to work - we don't do
that so far, we simply use coreboot.strip.
>> I tried to get rid of ROM_IMAGE_SIZE and friends, but that'll have to wait
>> until non-CBFS images are gone - maintaining two separate build configurations
>> in a single build system isn't fun.
> Until non-CBFS images are gone per board, or for all boards?
I intend to kill the non-CBFS infrastructure some weeks after everything
is officially moved over. This patch fixes the last known (to me)
regression of CBFS over non-CBFS.
So the timeline would be:
- this patch + changes to CBFS boards to build correctly
- patch to get all boards over to CBFS (test as many of them as
possible: I can provide testing for 4 boards by three cpu/chipset
vendors + qemu)
- wait some weeks
- remove non-CBFS code
- clean up what's possible
More information about the coreboot