1. 14 Sep, 2019 1 commit
  2. 11 Jul, 2019 1 commit
    • Atish Patra's avatar
      RISC-V: Add an Image header that boot loader can parse. · 0f327f2a
      Atish Patra authored
      
      
      Currently, the last stage boot loaders such as U-Boot can accept only
      uImage which is an unnecessary additional step in automating boot
      process.
      
      Add an image header that boot loader understands and boot Linux from
      flat Image directly.
      
      This header is based on ARM64 boot image header and provides an
      opportunity to combine both ARM64 & RISC-V image headers in future.
      
      Also make sure that PE/COFF header can co-exist in the same image so
      that EFI stub can be supported for RISC-V in future. EFI specification
      needs PE/COFF image header in the beginning of the kernel image in order
      to load it as an EFI application. In order to support EFI stub, code0
      should be replaced with "MZ" magic string and res4(at offset 0x3c)
      should point to the rest of the PE/COFF header (which will be added
      during EFI support).
      
      Tested on both QEMU and HiFive Unleashed using OpenSBI + U-Boot + Linux.
      Signed-off-by: default avatarAtish Patra <atish.patra@wdc.com>
      Reviewed-by: default avatarKarsten Merker <merker@debian.org>
      Tested-by: Karsten Merker <merker@debian.org> (QEMU+OpenSBI+U-Boot)
      Tested-by: Kevin Hilman <khilman@baylibre.com> (OpenSBI + U-Boot + Linux)
      [paul.walmsley@sifive.com: fixed whitespace in boot-image-header.txt;
       converted structure comment to kernel-doc format and added some detail]
      Signed-off-by: default avatarPaul Walmsley <paul.walmsley@sifive.com>
      0f327f2a