aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-01-24 10:06:09 -0700
committerBin Meng <bmeng.cn@gmail.com>2021-02-01 15:33:25 +0800
commit06c085c0d2a1ae33b1772d04dec9b1f66af12f14 (patch)
treef46984be14b1438aca171897fc5eb968c280c0f3
parent577c4ad0550825fa94c44ebca23523f05faecf17 (diff)
downloadu-boot-06c085c0d2a1ae33b1772d04dec9b1f66af12f14.zip
u-boot-06c085c0d2a1ae33b1772d04dec9b1f66af12f14.tar.gz
u-boot-06c085c0d2a1ae33b1772d04dec9b1f66af12f14.tar.bz2
x86: zimage: Improve command-line debug handling
At present if the command line is very long it is truncated by the printf() statement, which works within a limited buffer. Use puts() instead. Also show better debugging with the command-line setup fails. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r--arch/x86/lib/zimage.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/arch/x86/lib/zimage.c b/arch/x86/lib/zimage.c
index 3e9ee12..602788e 100644
--- a/arch/x86/lib/zimage.c
+++ b/arch/x86/lib/zimage.c
@@ -109,8 +109,11 @@ static void build_command_line(char *command_line, int auto_boot)
if (env_command_line)
strcat(command_line, env_command_line);
-
- printf("Kernel command line: \"%s\"\n", command_line);
+#ifdef DEBUG
+ printf("Kernel command line:");
+ puts(command_line);
+ printf("\n");
+#endif
}
static int kernel_magic_ok(struct setup_header *hdr)
@@ -354,7 +357,8 @@ int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot,
build_command_line(cmd_line, auto_boot);
ret = bootm_process_cmdline(cmd_line, max_size, BOOTM_CL_ALL);
if (ret) {
- printf("Cmdline setup failed (err=%d)\n", ret);
+ printf("Cmdline setup failed (max_size=%x, bootproto=%x, err=%d)\n",
+ max_size, bootproto, ret);
return ret;
}
printf("Kernel command line: \"");