Skip to content
  • Andre Przywara's avatar
    arm/arm64: implement a boot header capability · cdaa633f
    Andre Przywara authored
    
    
    Some SPL loaders (like Allwinner's boot0, and Broadcom's boot0)
    require a header before the actual U-Boot binary to both check its
    validity and to find other data to load. Sometimes this header may
    only be a few bytes of information, and sometimes this might simply
    be space that needs to be reserved for a post-processing tool.
    
    Introduce a config option to allow assembler preprocessor commands
    to be inserted into the code at the appropriate location; typical
    assembler preprocessor commands might be:
      .space 1000
      .word 0x12345678
    
    Signed-off-by: default avatarAndre Przywara <andre.przywara@arm.com>
    Signed-off-by: default avatarSteve Rae <srae@broadcom.com>
    Commit Notes:
    Please note that the current code:
      start.S (arm64) and
      vectors.S (arm)
    already jumps over some portion of data already, so this option basically
    just increases the size of this region (and the resulting binary).
    
    For use with Allwinner's boot0 blob there is a tool called boot0img[1],
    which fills the header to allow booting A64 based boards.
    For the Pine64 we need a 1536 byte header (including the branch
    instruction) at the moment, so we add this to the defconfig.
    
    [1] https://github.com/apritzel/pine64/tree/master/tools
    
    
    END
    Reviewed-by: default avatarTom Rini <trini@konsulko.com>
    cdaa633f