MIPS: bootm: refactor preparation of Linux kernel command line
Move preparation of Linux kernel command line in a separate function and mark it as legacy. Add a Kconfig option to make that legacy mode configurable. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>
This commit is contained in:
parent
768f6096f9
commit
25fc664f40
2 changed files with 27 additions and 2 deletions
|
@ -116,6 +116,19 @@ config CPU_MIPS64_R2
|
|||
|
||||
endchoice
|
||||
|
||||
menu "OS boot interface"
|
||||
|
||||
config MIPS_BOOT_CMDLINE_LEGACY
|
||||
bool "Hand over legacy command line to Linux kernel"
|
||||
default y
|
||||
help
|
||||
Enable this option if you want U-Boot to hand over the Yamon-style
|
||||
command line to the kernel. All bootargs will be prepared as argc/argv
|
||||
compatible list. The argument count (argc) is stored in register $a0.
|
||||
The address of the argument list (argv) is stored in register $a1.
|
||||
|
||||
endmenu
|
||||
|
||||
config SUPPORTS_BIG_ENDIAN
|
||||
bool
|
||||
|
||||
|
|
|
@ -20,6 +20,12 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||
#define mips_boot_malta 0
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_MIPS_BOOT_CMDLINE_LEGACY)
|
||||
#define mips_boot_cmdline_legacy 1
|
||||
#else
|
||||
#define mips_boot_cmdline_legacy 0
|
||||
#endif
|
||||
|
||||
static int linux_argc;
|
||||
static char **linux_argv;
|
||||
static char *linux_argp;
|
||||
|
@ -92,7 +98,7 @@ static void linux_cmdline_dump(void)
|
|||
debug(" arg %03d: %s\n", i, linux_argv[i]);
|
||||
}
|
||||
|
||||
static void boot_cmdline_linux(bootm_headers_t *images)
|
||||
static void linux_cmdline_legacy(bootm_headers_t *images)
|
||||
{
|
||||
const char *bootargs, *next, *quote;
|
||||
|
||||
|
@ -130,8 +136,14 @@ static void boot_cmdline_linux(bootm_headers_t *images)
|
|||
|
||||
bootargs = next;
|
||||
}
|
||||
}
|
||||
|
||||
linux_cmdline_dump();
|
||||
static void boot_cmdline_linux(bootm_headers_t *images)
|
||||
{
|
||||
if (mips_boot_cmdline_legacy) {
|
||||
linux_cmdline_legacy(images);
|
||||
linux_cmdline_dump();
|
||||
}
|
||||
}
|
||||
|
||||
static void linux_env_init(void)
|
||||
|
|
Loading…
Reference in a new issue