[coreboot-gerrit] Patch merged into coreboot/master: f38f848 Add section header parsing and use it in the mk-payload step

gerrit at coreboot.org gerrit at coreboot.org
Sun Feb 2 20:18:58 CET 2014


the following patch was just integrated into master:
commit f38f84855f01b31a2de070d1237bb18f33584081
Author: Ronald G. Minnich <rminnich at google.com>
Date:   Mon Dec 30 13:16:18 2013 -0800

    Add section header parsing and use it in the mk-payload step
    
    This completes the improvements to the ELF file parsing code.  We can
    now parse section headers too, across all 4 combinations of word size
    and endianness. I had hoped to completely remove the use of htonl
    until I found it in cbfs_image.c. That's a battle for another day.
    
    There's now a handy macro to create magic numbers in host byte order.
    I'm using it for all the PAYLOAD_SEGMENT_* constants and maybe
    we can use it for the others too, but this is sensitive code and
    I'd rather change one thing at a time.
    
    To maximize the ease of use for users, elf parsing is accomplished with
    just one function:
    
    int
    elf_headers(const struct buffer *pinput,
    	    Elf64_Ehdr *ehdr,
    	    Elf64_Phdr **pphdr,
    	    Elf64_Shdr **pshdr)
    
    which requires the ehdr and pphdr pointers to be non-NULL, but allows
    the pshdr to be NULL. If pshdr is NULL, the code will not try to read
    in section headers.
    
    To satisfy our powerful scripts, I had to remove the ^M from an unrelated
    microcode file.
    
    BUG=None
    TEST=Build a peppy image (known to boot) with old and new versions and verify they are bit-for-bit the same. This was also fully tested across all chromebooks for building and booting and running chromeos.
    BRANCH=None
    
    Change-Id: I54dad887d922428b6175fdb6a9cdfadd8a6bb889
    Signed-off-by: Ronald G. Minnich <rminnich at google.com>
    Reviewed-on: https://chromium-review.googlesource.com/181272
    Reviewed-by: Ronald Minnich <rminnich at chromium.org>
    Commit-Queue: Ronald Minnich <rminnich at chromium.org>
    Tested-by: Ronald Minnich <rminnich at chromium.org>
    Signed-off-by: Ronald G. Minnich <rminnich at google.com>


See http://review.coreboot.org/5098 for details.

-gerrit



More information about the coreboot-gerrit mailing list