[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [microblaze-uclinux] [PATCH] microblaze: Fix early cmdline for CMDLINE_FORCE
On Thu, 2009-05-21 at 09:02 +0200, Michal Simek wrote:
> This patch fixed parsing early parameters because
> current implementation does that early parse DTS
> command line and then parse CMDLINE line which is compiled-in.
>
> For case that DTS doesn't contain command line is
> copied command line from kernel with is done in prom.c
> that's why I can remove it from machine_early_init.
>
> Signed-off-by: Michal Simek <monstr@xxxxxxxxx>
> ---
> arch/microblaze/kernel/prom.c | 2 ++
> arch/microblaze/kernel/setup.c | 13 -------------
> 2 files changed, 2 insertions(+), 13 deletions(-)
>
> diff --git a/arch/microblaze/kernel/prom.c b/arch/microblaze/kernel/prom.c
> index 34c4871..003d373 100644
> --- a/arch/microblaze/kernel/prom.c
> +++ b/arch/microblaze/kernel/prom.c
> @@ -563,7 +563,9 @@ static int __init early_init_dt_scan_chosen(unsigned long node,
> strlcpy(cmd_line, p, min((int)l, COMMAND_LINE_SIZE));
>
> #ifdef CONFIG_CMDLINE
> +#ifndef CONFIG_CMDLINE_FORCE
> if (p == NULL || l == 0 || (l == 1 && (*p) == 0))
> +#endif
> strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
> #endif /* CONFIG_CMDLINE */
Nice. I can't test this though because my kernel runs without OF. But it
looks correct.
>
> diff --git a/arch/microblaze/kernel/setup.c b/arch/microblaze/kernel/setup.c
> index eb6b417..eab327c 100644
> --- a/arch/microblaze/kernel/setup.c
> +++ b/arch/microblaze/kernel/setup.c
> @@ -42,10 +42,6 @@ char cmd_line[COMMAND_LINE_SIZE];
>
> void __init setup_arch(char **cmdline_p)
> {
> -#ifdef CONFIG_CMDLINE_FORCE
> - strlcpy(cmd_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
> - strlcpy(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
> -#endif
> *cmdline_p = cmd_line;
>
> console_verbose();
> @@ -106,15 +102,6 @@ void __init machine_early_init(const char *cmdline, unsigned int ram,
> memset(__bss_start, 0, __bss_stop-__bss_start);
> memset(_ssbss, 0, _esbss-_ssbss);
>
> - /*
> - * Copy command line passed from bootloader, or use default
> - * if none provided, or forced
> - */
> -#ifndef CONFIG_CMDLINE_BOOL
> - if (cmdline && cmdline[0] != '\0')
> - strlcpy(cmd_line, cmdline, COMMAND_LINE_SIZE);
> -#endif
> -
Isn't this deletion removing the bootloader command line from
consideration? I think your first patch is better. This comment needs
updating, though, and you could probably delete the #ifndef bracket.
> /* initialize device tree for usage in early_printk */
> early_init_devtree((void *)_fdt_start);
>
------------------------------------------------------------------------
Steven J. Magnani "I claim this network for MARS!
www.digidescorp.com Earthling, return my space modulator!"
#include <standard.disclaimer>
___________________________
microblaze-uclinux mailing list
microblaze-uclinux@xxxxxxxxxxxxxx
Project Home Page : http://www.itee.uq.edu.au/~jwilliams/mblaze-uclinux
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/microblaze-uclinux/