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