summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2008-08-10 01:26:26 +0200
committerWolfgang Denk <wd@denx.de>2008-08-10 01:26:26 +0200
commit0bf202ec586d4466c900e987720fa635c594d689 (patch)
tree134122e0c27026445777a6d3286638d7d8e35ce2
parentdedec4cfc88eeadac616d558f6104cbe2e0d46aa (diff)
downloadu-boot-imx-0bf202ec586d4466c900e987720fa635c594d689.zip
u-boot-imx-0bf202ec586d4466c900e987720fa635c594d689.tar.gz
u-boot-imx-0bf202ec586d4466c900e987720fa635c594d689.tar.bz2
Revert "[new uImage] Add autostart flag to bootm_headers structure"
This reverts commit f5614e7926863bf0225ec860d9b319741a9c4004. The commit was based on a misunderstanding of the (documented) meaning of the 'autostart' environment variable. It might cause boards to hang if 'autostart' was used, with the potential to brick them. Go back to the documented behaviour. Conflicts: common/cmd_bootm.c common/image.c include/image.h Signed-off-by: Wolfgang Denk <wd@denx.de>
-rw-r--r--common/cmd_bootm.c1
-rw-r--r--common/image.c16
-rw-r--r--include/image.h1
3 files changed, 16 insertions, 2 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index 18d7100..2dffdfa 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -138,7 +138,6 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
memset ((void *)&images, 0, sizeof (images));
images.verify = getenv_yesno ("verify");
- images.autostart = getenv_yesno ("autostart");
images.lmb = &lmb;
lmb_init(&lmb);
diff --git a/common/image.c b/common/image.c
index c3545a7..1807348 100644
--- a/common/image.c
+++ b/common/image.c
@@ -189,6 +189,22 @@ int image_check_dcrc (image_header_t *hdr)
return (dcrc == image_get_dcrc (hdr));
}
+void memmove_wd (void *to, void *from, size_t len, ulong chunksz)
+{
+#if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG)
+ while (len > 0) {
+ size_t tail = (len > chunksz) ? chunksz : len;
+ WATCHDOG_RESET ();
+ memmove (to, from, tail);
+ to += tail;
+ from += tail;
+ len -= tail;
+ }
+#else /* !(CONFIG_HW_WATCHDOG || CONFIG_WATCHDOG) */
+ memmove (to, from, len);
+#endif /* CONFIG_HW_WATCHDOG || CONFIG_WATCHDOG */
+}
+#endif /* USE_HOSTCC */
/**
* image_multi_count - get component (sub-image) count
diff --git a/include/image.h b/include/image.h
index 46138fa..4b9c582 100644
--- a/include/image.h
+++ b/include/image.h
@@ -220,7 +220,6 @@ typedef struct bootm_headers {
#endif
int verify; /* getenv("verify")[0] != 'n' */
- int autostart; /* getenv("autostart")[0] != 'n' */
struct lmb *lmb; /* for memory mgmt */
} bootm_headers_t;