[coreboot] Time for a new project
Jordan Crouse
jordan.crouse at amd.com
Sun Apr 13 06:04:20 CEST 2008
On 13/04/08 04:15 +0200, Segher Boessenkool wrote:
> > 3) We need a equivalent solution for the NAME segment in SELF - the
> > payload chooser must be able to get a human friendly name for each
> > payload without decompressing the entire payload into memory.
>
> If you want this name to be part of the binary (and we can discuss
> endlessly whether that is a good idea or not -- let's just accept the
> answer is "yes" :-) ), for ELF, you would do this using a PT_NOTE
> normally. It's easy to make sure that note sits at the start of the
> file, too.
But if it was part of the binary, then we would have to decompress
at least part of the binary to find it, no?
> > The only
> > requirement is that there only be one ENTRY segment, which is fine,
> > because thats exactly how many entry points we have.
>
> Would it not make sense to put the entry point info in the file header,
> not in a segment header, then?
Well - first of all, I think you are confused. There is no SELF file -
you won't see a .self file by itself. It is an internal format, suitable
only for inclusion in a LAR. This is part of the simplicity. So no
file means no file header. But even if there was, I would argue that
having the load address in the segment list isn't really hurting us.
It pulls double duty - it identifies the end of the segment list,
and it gives us the load address, right when we need it, after we
have finished loading the data and code.
> > We already know what endianism, word size and architecture we're going
> > to
> > run on - SELF is not intended to be portable.
>
> It is nice to have a file header that describes the basic format of
> the file. You don't *have* to check it if you do not want to.
>
> One important case where you actually want to *use* this info is when
> you have an architecture that can execute both 32-bit and 64-bit
> programs.
Again - not a file format, so no file header. And I would argue that
if we ever reach the point where we legitmately think that we want
to start a payload in 64 bit mode, that the architecture flag should
probably be in the LAR header, and not in the SELF.
--
Jordan Crouse
Systems Software Development Engineer
Advanced Micro Devices, Inc.
More information about the coreboot
mailing list