• Sebastian Siewior's avatar
    image: add support for Android's boot image format · 9ace3fc8
    Sebastian Siewior authored
    This patch adds support for the Android boot-image format. The header
    file is from the Android project and got slightly alterted so the struct +
    its defines are not generic but have something like a namespace. The
    header file is from bootloader/legacy/include/boot/bootimg.h. The header
    parsing has been written from scratch and I looked at
    bootloader/legacy/usbloader/usbloader.c for some details.
    The image contains the physical address (load address) of the kernel and
    ramdisk. This address is considered only for the kernel image.
    The "second image" defined in the image header is currently not
    supported. I haven't found anything that is creating this.
    
    v3 (Rob Herring):
    This is based on http://patchwork.ozlabs.org/patch/126797/ with the
    following changes:
    - Rebased to current mainline
    - Moved android image handling to separate functions in
      common/image-android.c
    - s/u8/char/ in header to fix string function warnings
    - Use SPDX identifiers for licenses
    - Cleaned-up file source information:
      android_image.h is from file include/boot/bootimg.h in repository:
      https://android.googlesource.com/platform/bootable/bootloader/legacy
      The git commit hash is 4205b865141ff2e255fe1d3bd16de18e217ef06a
      usbloader.c would be from the same commit, but it does not appear
      to have been used for any actual code.
    v4:
    - s/andriod/android/
    - Use a separate flag ep_found to track if the entry point has been set
    rather than using a magic value.
    
    Cc: Wolfgang Denk <wd@denx.de>
    Signed-off-by: default avatarSebastian Andrzej Siewior <bigeasy@linutronix.de>
    Signed-off-by: default avatarRob Herring <robh@kernel.org>
    Reviewed-by: default avatarTom Rini <trini@ti.com>
    Reviewed-by: default avatarLukasz Majewski <l.majewski@samsung.com>
    9ace3fc8
android_image.h 1.97 KB