summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKumar Gala <galak@kernel.crashing.org>2008-02-27 21:51:48 -0600
committerMarian Balakowicz <m8@semihalf.com>2008-02-29 13:15:56 +0100
commitf5614e7926863bf0225ec860d9b319741a9c4004 (patch)
tree7e8a128eb6e56227c967e9244531c8eb1efcaf6a
parent4ed6552f715983bfc7d212c1199a1f796f1144ad (diff)
downloadu-boot-imx-f5614e7926863bf0225ec860d9b319741a9c4004.zip
u-boot-imx-f5614e7926863bf0225ec860d9b319741a9c4004.tar.gz
u-boot-imx-f5614e7926863bf0225ec860d9b319741a9c4004.tar.bz2
[new uImage] Add autostart flag to bootm_headers structure
The autostart env variable was dropped as part of the initial new uImage cleanup. Add it back here so the arch specific code can decide if it wants to really boot or not. Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
-rw-r--r--common/cmd_bootm.c1
-rw-r--r--common/image.c6
-rw-r--r--include/image.h2
3 files changed, 9 insertions, 0 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 92c18d0..92c2f4e 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -123,6 +123,7 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
memset ((void *)&images, 0, sizeof (images));
images.verify = getenv_verify();
+ images.autostart = getenv_autostart();
images.lmb = &lmb;
lmb_init(&lmb);
diff --git a/common/image.c b/common/image.c
index d4acb6b..4f2ff9c 100644
--- a/common/image.c
+++ b/common/image.c
@@ -126,6 +126,12 @@ int getenv_verify (void)
return (s && (*s == 'n')) ? 0 : 1;
}
+int getenv_autostart (void)
+{
+ char *s = getenv ("autostart");
+ return (s && (*s == 'n')) ? 0 : 1;
+}
+
void memmove_wd (void *to, void *from, size_t len, ulong chunksz)
{
#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
diff --git a/include/image.h b/include/image.h
index cb4acd8..5ce2ca4 100644
--- a/include/image.h
+++ b/include/image.h
@@ -204,6 +204,7 @@ typedef struct bootm_headers {
char *fit_uname_fdt; /* FDT blob node unit name */
#endif
int verify; /* getenv("verify")[0] != 'n' */
+ int autostart; /* getenv("autostart")[0] != 'n' */
struct lmb *lmb; /* for memory mgmt */
#endif
} bootm_headers_t;
@@ -314,6 +315,7 @@ int image_check_dcrc (image_header_t *hdr);
#ifndef USE_HOSTCC
int image_check_dcrc_wd (image_header_t *hdr, ulong chunksize);
int getenv_verify (void);
+int getenv_autostart (void);
void memmove_wd (void *to, void *from, size_t len, ulong chunksz);
#endif