U-Boot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Simon Glass <sjg@chromium.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] Fix test failure caused by bad handling of ramdisk
Date: Fri, 22 Aug 2014 14:26:43 -0600	[thread overview]
Message-ID: <1408739217-1904-1-git-send-email-sjg@chromium.org> (raw)

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>
---

 common/image-fit.c | 2 +-
 common/image.c     | 3 ++-
 include/image.h    | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/common/image-fit.c b/common/image-fit.c
index c61be65..255c4ca 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 a2999c0..d0af597 100644
--- a/common/image.c
+++ b/common/image.c
@@ -951,7 +951,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;
 
diff --git a/include/image.h b/include/image.h
index ca2fe86..f58e9ff 100644
--- a/include/image.h
+++ b/include/image.h
@@ -412,6 +412,7 @@ void genimg_print_time(time_t timestamp);
 enum fit_load_op {
 	FIT_LOAD_IGNORED,	/* Ignore load address */
 	FIT_LOAD_OPTIONAL,	/* Can be provided, but optional */
+	FIT_LOAD_OPTIONAL_NON_ZERO,	/* Optional, a value of 0 is ignored */
 	FIT_LOAD_REQUIRED,	/* Must be provided */
 };
 
-- 
2.1.0.rc2.206.gedb03e5

             reply	other threads:[~2014-08-22 20:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-22 20:26 Simon Glass [this message]
2014-08-22 20:26 ` [U-Boot] [PATCH 2/2] Correct sandbox filesystem commands in FIT image test Simon Glass
2014-08-29 14:41   ` [U-Boot] [U-Boot, " Tom Rini
2014-08-29 14:41 ` [U-Boot] [U-Boot, 1/2] Fix test failure caused by bad handling of ramdisk Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1408739217-1904-1-git-send-email-sjg@chromium.org \
    --to=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox