1. 01 12月, 2011 2 次提交
    • S
      image: Don't detect XIP images as overlapping. · d510859b
      Stephen Warren 提交于
      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 boot continues and
      succeeds. Now, the false error is no longer even returned.
      
      Without this change, when booting a FIT image that contains an
      IH_TYPE_KERNEL_ANYLOAD, bootm_load_os() would have returned
      BOOTM_ERR_OVERLAP, which would then cause the caller to reset the board.
      Now, the false error is no longer returned, and boot succeeds.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NStefan Roese <sr@denx.de>
      d510859b
    • S
      image: Implement IH_TYPE_KERNEL_NOLOAD · b9b50e89
      Stephen Warren 提交于
      The legacy uImage format includes an absolute load and entry-point
      address. When bootm operates on a kernel uImage in memory that isn't
      loaded at the address in the image's load address, U-Boot will copy
      the image to its address in the header.
      
      Some kernel images can actually be loaded and used at any arbitrary
      address. An example is an ARM Linux kernel zImage file. To represent
      this capability, IH_TYPE_KERNEL_NOLOAD is implemented, which operates
      just like IH_TYPE_KERNEL, except that the load address header is
      ignored, and U-Boot does not copy the image to its load address, but
      rather uses it in-place.
      
      This is useful when sharing a single (uImage-wrapped) zImage across
      multiple boards with different memory layouts; in this case, a specific
      load address need not be picked when creating the uImage, but instead
      is selected by the board-specific U-Boot environment used to load and
      boot that image.
      
      v2: Rename from IH_TYPE_KERNEL_ANYLOAD to IH_TYPE_KERNEL_NOLOAD.
      Signed-off-by: NStephen Warren <swarren@nvidia.com>
      Signed-off-by: NStefan Roese <sr@denx.de>
      b9b50e89
  2. 29 11月, 2011 3 次提交
  3. 28 11月, 2011 8 次提交
  4. 27 11月, 2011 6 次提交
  5. 26 11月, 2011 2 次提交
  6. 25 11月, 2011 2 次提交
  7. 24 11月, 2011 4 次提交
  8. 23 11月, 2011 13 次提交