• Stephen Warren's avatar
    image: Don't detect XIP images as overlapping. · d510859b
    Stephen Warren authored
    bootm_load_os() detects when it writes the decompressed image over
    the top of the compressed image. If this happens, the original image
    is corrupted. When the original image is a multi-component legacy image,
    or a (potentially multi-component) FIT image, this implies that other
    components may be corrupted. In turn, this means that booting is unlikely
    to be successful.
    
    However, in the case of no image compresssion coupled with an image with
    load address equal to where the image is already located (e.g. an XIP
    kernel, or IH_TYPE_KERNEL_ANYLOAD), there has been no copy and hence no
    corruption, no matter whether it's a single-component legacy image, a
    multi-component legacy image, or a FIT image. In this case, disable the
    overlap detection, and allow boot to continue.
    
    Without this change, when booting a single-component legacy image that
    contains an IH_TYPE_KERNEL_ANYLOAD, bootm_load_os() would have returned
    BOOTM_ERR_OVERLAP, but the caller ignores this, and b...
    d510859b
cmd_bootm.c 37.4 KB