[coreboot] LAR TODO

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Wed Feb 20 23:56:13 CET 2008


On 19.02.2008 16:48, Patrick Georgi wrote:
> Am Dienstag, den 19.02.2008, 16:07 +0100 schrieb Stefan Reinauer:
>   
>> Drop entry and load address out of the LAR format. Instead, we define
>> a
>> "coreboot native blob format" which looks like the following and pack
>> it _into_ the lar.
>>
>> +--------------------+
>> | MAGIC              |
>> +--------------------+
>> | Entry              |
>> +--------------------+
>> | Number of Segments |
>> |    (consecutive)   |
>> +--------------------+
>> | SEGMENT 1/n        |
>> | +----------------+ |
>> | | Load Address   | |
>> | +----------------+ |
>> | | Len (needed?)  | |
>> | +----------------+ |
>> | | Compress. Type | |
>> | +----------------+ |
>> | | Data           | |
>> | |                | |
>> | +~~~~~~~~~~~~~~~~+ |
>> +--------------------+
>> |      ....          |
>> +--------------------+
>> | SEGMENT n/n        |
>> | +----------------+ |
>> | | Load Address   | |
>> | +----------------+ |
>> | | Len (needed?)  | |
>> | +----------------+ |
>> | | Compress. Type | |
>> | +----------------+ |
>> | | Data           | |
>> | |                | |
>> | +~~~~~~~~~~~~~~~~+ |
>> +--------------------+
>>     
>
> This gives essentially two layers of archive format, lar and
> executable-file.
>   

I don't like the layered ide very much.


> How about doing segments per file (like right now), and simply
> prepending their data "section" with the load address (as they already
> get special treatment anyway).
>   

What does that buy us except a header format change which essentially 
moved the loadaddr header field to the end of the header?


> The entry point could end up in a file "entry", 4 bytes large,
> containing nothing but the address to jump to.
>   

Bad idea, sorry. That increases boot time by one LAR lookup which can be 
very costly in the worst case.


Regards,
Carl-Daniel

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





More information about the coreboot mailing list