x86: Allow cmdline setup in setup_zimage() to be optional
authorSimon Glass <sjg@chromium.org>
Mon, 20 Oct 2014 03:11:21 +0000 (21:11 -0600)
committerSimon Glass <sjg@chromium.org>
Wed, 22 Oct 2014 15:03:05 +0000 (09:03 -0600)
If we are passing this using the device tree then we may not want to
set this up here.

Signed-off-by: Simon Glass <sjg@chromium.org>
arch/x86/lib/zimage.c

index 1f59bf2643afc62e39a5249e8ea7ac9949f724c0..2f0e92f123a5acaa06a6c2f031cec72766d06099 100644 (file)
@@ -243,18 +243,21 @@ int setup_zimage(struct boot_params *setup_base, char *cmd_line, int auto_boot,
                hdr->loadflags |= HEAP_FLAG;
        }
 
-       if (bootproto >= 0x0202) {
-               hdr->cmd_line_ptr = (uintptr_t)cmd_line;
-       } else if (bootproto >= 0x0200) {
-               setup_base->screen_info.cl_magic = COMMAND_LINE_MAGIC;
-               setup_base->screen_info.cl_offset =
-                       (uintptr_t)cmd_line - (uintptr_t)setup_base;
+       if (cmd_line) {
+               if (bootproto >= 0x0202) {
+                       hdr->cmd_line_ptr = (uintptr_t)cmd_line;
+               } else if (bootproto >= 0x0200) {
+                       setup_base->screen_info.cl_magic = COMMAND_LINE_MAGIC;
+                       setup_base->screen_info.cl_offset =
+                               (uintptr_t)cmd_line - (uintptr_t)setup_base;
+
+                       hdr->setup_move_size = 0x9100;
+               }
 
-               hdr->setup_move_size = 0x9100;
+               /* build command line at COMMAND_LINE_OFFSET */
+               build_command_line(cmd_line, auto_boot);
        }
 
-       /* build command line at COMMAND_LINE_OFFSET */
-       build_command_line(cmd_line, auto_boot);
        return 0;
 }