summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2014-08-22 14:26:43 -0600
committerTom Rini <trini@ti.com>2014-08-28 17:18:48 -0400
commitfe20a81a6802bb871f4c3c46534310519c7d86d3 (patch)
treeb56afb4cd56111af9dbdbf8c6bdb2029420fbeac /common
parent4a8ed8e24886adf47086125f81307eaa8c358437 (diff)
downloadu-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.c2
-rw-r--r--common/image.c3
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;