From 8cb8143ef7e490c13512cbdf688faf39f5aa4179 Mon Sep 17 00:00:00 2001 From: dzu Date: Fri, 24 Oct 2003 13:14:45 +0000 Subject: [PATCH] * Correct header printing for multi-image files in do_bootm() * Make CONFIG_SILENT_CONSOLE work with CONFIG_AUTOBOOT_KEYED --- CHANGELOG | 4 ++++ common/cmd_bootm.c | 2 +- common/main.c | 27 +++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index abd42a0b0f..0bb085b1cf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,10 @@ Changes for U-Boot 1.0.0: ====================================================================== +* Correct header printing for multi-image files in do_bootm() + +* Make CONFIG_SILENT_CONSOLE work with CONFIG_AUTOBOOT_KEYED + * Fix PCI problems on PPChameleon board * Patch by Steven Scholz, 18 Oct 2003: diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c index abdac2385a..07cda5658a 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 73f8ff9f0b..a0c9fe889f 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; } -- 2.39.2