diff options
author | Simon Glass <sjg@chromium.org> | 2014-08-22 14:26:43 -0600 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2014-08-28 17:18:48 -0400 |
commit | fe20a81a6802bb871f4c3c46534310519c7d86d3 (patch) | |
tree | b56afb4cd56111af9dbdbf8c6bdb2029420fbeac /common | |
parent | 4a8ed8e24886adf47086125f81307eaa8c358437 (diff) | |
download | u-boot-fe20a81a6802bb871f4c3c46534310519c7d86d3.tar.gz u-boot-fe20a81a6802bb871f4c3c46534310519c7d86d3.tar.xz u-boot-fe20a81a6802bb871f4c3c46534310519c7d86d3.zip |
Fix test failure caused by bad handling of ramdisk
Commit e3a5bbce broke the FIT image tests by not loading a ramdisk even if
a load address is provided in the FIT. The rationale was that a load address
of 0 should be considered to mean 'do not load'.
Add a new load operation which supports this feature, so that the ramdisk
will be loaded if a non-zero load address is provided.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/image-fit.c | 2 | ||||
-rw-r--r-- | common/image.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/common/image-fit.c b/common/image-fit.c index c61be65133..255c4cac9c 100644 --- a/common/image-fit.c +++ b/common/image-fit.c @@ -1656,7 +1656,7 @@ int fit_image_load(bootm_headers_t *images, ulong addr, bootstage_error(bootstage_id + BOOTSTAGE_SUB_LOAD); return -EBADF; } - } else { + } else if (load_op != FIT_LOAD_OPTIONAL_NON_ZERO || load) { ulong image_start, image_end; ulong load_end; void *dst; diff --git a/common/image.c b/common/image.c index d4ccff0095..38b56e3deb 100644 --- a/common/image.c +++ b/common/image.c @@ -966,7 +966,8 @@ int boot_get_ramdisk(int argc, char * const argv[], bootm_headers_t *images, &fit_uname_config, arch, IH_TYPE_RAMDISK, BOOTSTAGE_ID_FIT_RD_START, - FIT_LOAD_IGNORED, &rd_data, &rd_len); + FIT_LOAD_OPTIONAL_NON_ZERO, + &rd_data, &rd_len); if (rd_noffset < 0) return 1; |