summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authordzu <dzu>2003-10-24 13:14:45 +0000
committerdzu <dzu>2003-10-24 13:14:45 +0000
commit8cb8143ef7e490c13512cbdf688faf39f5aa4179 (patch)
tree295195ef829bca08061ee62e62f7ac2a6d74cdeb /common
parent4654af27b894277c9e3dac5359f6b3e74d1405ac (diff)
* Correct header printing for multi-image files in do_bootm()
* Make CONFIG_SILENT_CONSOLE work with CONFIG_AUTOBOOT_KEYED
Diffstat (limited to 'common')
-rw-r--r--common/cmd_bootm.c2
-rw-r--r--common/main.c27
2 files changed, 28 insertions, 1 deletions
diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index abdac2385a0..07cda5658ad 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -205,7 +205,7 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
SHOW_BOOT_PROGRESS (3);
/* for multi-file images we need the data part, too */
- print_image_hdr (hdr);
+ print_image_hdr (addr);
data = addr + sizeof(image_header_t);
len = ntohl(hdr->ih_size);
diff --git a/common/main.c b/common/main.c
index 73f8ff9f0be..a0c9fe889fe 100644
--- a/common/main.c
+++ b/common/main.c
@@ -102,6 +102,18 @@ static __inline__ int abortboot(int bootdelay)
u_int presskey_max = 0;
u_int i;
+#ifdef CONFIG_SILENT_CONSOLE
+ {
+ DECLARE_GLOBAL_DATA_PTR;
+
+ if (gd->flags & GD_FLG_SILENT) {
+ /* Restore serial console */
+ console_assign (stdout, "serial");
+ console_assign (stderr, "serial");
+ }
+ }
+#endif
+
# ifdef CONFIG_AUTOBOOT_PROMPT
printf (CONFIG_AUTOBOOT_PROMPT, bootdelay);
# endif
@@ -180,6 +192,21 @@ static __inline__ int abortboot(int bootdelay)
printf("key timeout\n");
# endif
+#ifdef CONFIG_SILENT_CONSOLE
+ {
+ DECLARE_GLOBAL_DATA_PTR;
+
+ if (abort) {
+ /* permanently enable normal console output */
+ gd->flags &= ~(GD_FLG_SILENT);
+ } else if (gd->flags & GD_FLG_SILENT) {
+ /* Restore silent console */
+ console_assign (stdout, "nulldev");
+ console_assign (stderr, "nulldev");
+ }
+ }
+#endif
+
return abort;
}