LinuxBIOS in 512KB flash

Eric W. Biederman ebiederman at lnxi.com
Wed Oct 9 01:36:00 CEST 2002


"Hieu T. Tran" <htran at viosoft.com> writes:

> Ron and Eric,
> 
> Thank you for the response.
> 
> The problem that we're having is that the generated romimage
> positions reset_vector / ROMTOP at 0xFFFF0, resulting in an
> image size of ~ 1MB.  Put another way, reset_vector is at offset
> 1MB on the flash device.  At boot, the system fetches the 
> address at 0xFFFF0, and executes the code there.  As this 
> address is truncated to 0x7FFF0 on our platform, or offset 512KB 
> of flash, which is more or less random junk rather than the 
> intended reset_vector.
> 
> To work around this problem, we're trying various methods to 
> force reset_vector / ROMTOP to 0x7FFF0.  It appears that there
> are several ways to do this, ranging from adorning the build
> config file with various ROMTOP, ROMSIZE, and PAYLOAD_SIZE settings,
> to providing a customized ldscript.ld file for the mainboard.  
> 
> What I'd like to know is if there is a simple way to accomplish this.
> Also, I would be much oblidged for pointer to any document, if 
> exists, that prescribes how to construct Config file for a given 
> platform.  I suspect other developers would enjoy this as well.

For the linuxbios part of the rom:
PAYLOAD_SIZE+ROM_IMAGE_SIZE == bytes in romimage 
PAYLOAD_SIZE is the amount of space reserved for your bootloader.
_ROMBASE is the start address (of the ROM)
ROM_IMAGE_SIZE is far long you go after that, often 64K.

So something like:
option PAYLOAD_SIZE=458752
option ROM_IMAGE_SIZE=65536
option _ROMBASE=0xf0000 

Should achieve what you are trying to do...

Eric



More information about the coreboot mailing list