lkml.org 
[lkml]   [2007]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH RFC 6/7] i386: make the bzImage payload an ELF file
    On Wed, Jun 06, 2007 at 05:42:35PM -0700, H. Peter Anvin wrote:
    > Jeremy Fitzhardinge wrote:
    > >
    > > Certainly, but much harder to implement. The ELF parser needs to be
    > > prepared to move itself around to get out of the way of the ELF file.
    > > It's a fairly large change from how it works now.
    > >
    >
    > It doesn't if we simply declare that a certain chunk of memory is
    > available to it, for the case where it runs in the native configuration.
    > Since it doesn't have to support *any* ELF file, just the kernel one,
    > that's an option.
    >
    > On the other hand, I guess with the decompressor/ELF parser being PIC,
    > one would simply look for the highest used address, and relocate itself
    > above that point. It's not really all that different from what the
    > decompressor does today, except that it knows the address a priori.
    >

    One would not know highest used address until ELF headers have been
    parsed. May be it is two step movement. First decompress ELF.gz and
    ELF parser can be at the end of decompressed data. Then it can parse
    the ELF headers and move itself out of the ELF header destination memory
    and then load the elf segments at appropriate place.

    One will have to be little careful while moving ELF parser or while
    decompressing the file to a temporary buffer so that we don't stomp over
    any other data loaded by boot-loader (like kexec does) or we don't go beyond
    the memory bounds which might have been created in the case of using kdump.

    Thanks
    Vivek
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-06-08 05:53    [W:6.381 / U:0.720 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site