-----Original Message----- From: Jordan Crouse [mailto:jordan.crouse@amd.com] Sent: Wednesday, April 16, 2008 11:54 AM To: Myles Watson Cc: coreboot@coreboot.org Subject: Re: SELF/ELF/LAR
On 16/04/08 11:36 -0600, Myles Watson wrote:
I totaly agree - and SELF reflects that behavior without the
additional
LAR segments. I'm not even sure if Segher is promoting just tossing
it
into the LAR without parsing, but I don't want to put words in his
mouth.
Here's my opinion based on the discussion so far:
I like the idea of SELF except as a file format. I think SELF should
stay
internal to LAR. With the information in SELF we can create a valid ELF file at extraction time. That way we only have one way to get a Payload into LAR (parsing an ELF) and one way out. Coreboot code only needs to
know
about the SELF format, and we have many fewer code paths to test and maintain.
Yes, SELF was always intended to be internal to LAR. To be completely honest with you, I don't really see much value in extracting a LAR. LAR may have started as an archiver format, but it has long since lost nearly all those characteristics. I realize why extraction may exist - if I am handed an ambiguous blob from an unknown source, I may want to be able to pull out the individual parts, but my only concern is being able to do things correctly during boot.
I think another interesting case is when something broke and you want to isolate it. It would be interesting to pull just the payload from a working ROM to try in a broken one or vice versa.
So we'll make that rule for SELF - it will always been an internal format. it will never exist outside of the LAR. If we extract the file, then we'll construct an ELF from the internal format.
My fear was that LAR was going to need to parse ELF and SELF, and so was Coreboot. I think at least one of those pathways would bit rot quickly.
Yes - and that would also require us to have some SELF tools available in the toolchain - not an interesting prospect for us.
All right! At least two people agree on something!
Thanks for your patience in explaining and iterating with me.
Myles