]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Introduce CONFIG_SPL_PANIC_ON_RAW_IMAGE
authorAlbert ARIBAUD \(3ADEV\) <albert.aribaud@3adev.fr>
Tue, 31 Mar 2015 09:40:50 +0000 (11:40 +0200)
committerLothar Waßmann <LW@KARO-electronics.de>
Tue, 1 Sep 2015 12:39:37 +0000 (14:39 +0200)
introduce CONFIG_SPL_PANIC_ON_RAW_IMAGE.
An SPL which define this will panic() if the
image it has loaded does not have a mkimage
signature.

Signed-off-by: Albert ARIBAUD (3ADEV) <albert.aribaud@3adev.fr>
README
common/spl/spl.c

diff --git a/README b/README
index 97893baef355e7ccce4b98433181d44ba02192b1..fc74c913cb4f24aab19ded12138e31e7aee709c7 100644 (file)
--- a/README
+++ b/README
@@ -3618,6 +3618,16 @@ FIT uImage format:
                CONFIG_SPL_STACK
                Adress of the start of the stack SPL will use
 
+               CONFIG_SPL_PANIC_ON_RAW_IMAGE
+               When defined, SPL will panic() if the image it has
+               loaded does not have a signature.
+               Defining this is useful when code which loads images
+               in SPL cannot guarantee that absolutely all read errors
+               will be caught.
+               An example is the LPC32XX MLC NAND driver, which will
+               consider that a completely unreadable NAND block is bad,
+               and thus should be skipped silently.
+
                CONFIG_SPL_RELOC_STACK
                Adress of the start of the stack SPL will use after
                relocation.  If unspecified, this is equal to
index b2656f53fdb13be4f570f0eea2e80c44c559be2b..ff916600ac831f0855718c18d51ce3afcc7ef08e 100644 (file)
@@ -101,10 +101,22 @@ void spl_parse_image_header(const struct image_header *header)
                        (int)sizeof(spl_image.name), spl_image.name,
                        spl_image.load_addr, spl_image.size);
        } else {
+#ifdef CONFIG_SPL_PANIC_ON_RAW_IMAGE
+               /*
+                * CONFIG_SPL_PANIC_ON_RAW_IMAGE is defined when the
+                * code which loads images in SPL cannot guarantee that
+                * absolutely all read errors will be reported.
+                * An example is the LPC32XX MLC NAND driver, which
+                * will consider that a completely unreadable NAND block
+                * is bad, and thus should be skipped silently.
+                */
+               panic("** no mkimage signature but raw image not supported");
+#else
                /* Signature not found - assume u-boot.bin */
                debug("mkimage signature not found - ih_magic = %x\n",
                        header->ih_magic);
                spl_set_header_raw_uboot();
+#endif
        }
 }