[coreboot] CBFS fix?

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Sat Apr 25 00:51:13 CEST 2009


On 24.04.2009 23:01, Myles Watson wrote:
> On Fri, Apr 24, 2009 at 2:54 PM, ron minnich <rminnich at gmail.com> wrote:
>   
>> On Fri, Apr 24, 2009 at 1:53 PM, Myles Watson <mylesgw at gmail.com> wrote:
>>     
>>> On Fri, Apr 24, 2009 at 2:42 PM, Carl-Daniel Hailfinger
>>> <c-d.hailfinger.devel.2006 at gmx.net> wrote:
>>>       
>>>> On 24.04.2009 22:16, Myles Watson wrote:
>>>>         
>>>>> Are we going to move the location of the master header?  I'd like to
>>>>> add an error to cbfstool when it overwrites code with its data.
>>>>>
>>>>>           
>>>> Why do I have the feeling that every mistake we made with LAR is
>>>> repeated with CBFS? One year from now CBFS and LAR will probably have
>>>> evolved to an identical feature set and the same design, have equally
>>>> complex code and it will be a nightmare to debug corner cases in each of
>>>> them.
>>>>         
>>> I didn't think we'd run into this one in LAR.  How did we fix it?
>>>
>>>       
> ../src/southbridge/nvidia/ck804/romstrap.lds:	. = (_ROMBASE +
> ROM_IMAGE_SIZE - 0x10) - (__romstrap_end - __romstrap_start);
> ../src/southbridge/nvidia/mcp55/romstrap.lds:	. = (_ROMBASE +
> ROM_IMAGE_SIZE - 0x10) - (__romstrap_end - __romstrap_start);
> ../src/southbridge/sis/sis966/romstrap.lds:	. = (_ROMBASE +
> ROM_IMAGE_SIZE - 0x10) - (__romstrap_end - __romstrap_start);
> ../src/southbridge/via/k8t890/romstrap.lds:	. = (_ROMBASE +
> ROM_IMAGE_SIZE - 0x2c) - (__romstrap_end - __romstrap_start);
>
> These are all close to the end.  CBFS gives us more room in flash
> because elfboot is gone, so I say:
>
> 1. lets pick something safe for these boards
>   

Depending on how much space we're willing to lose, sacrificing the
TOP-127 to TOP-16 for chipset stuff would probably be safe. TOP-15 to
TOP would contain the jump and the pointer to the master header. There's
one caveat, though: Short jumps can only jump -128 bytes and not
further. That may or may not be a problem for startup code.

Do we have a table where these locations are written down?

> 2. Make the tool more aware
> 3. Document it
>   

Excellent idea.

Regards.
Carl-Daniel

-- 
http://www.hailfinger.org/





More information about the coreboot mailing list