Re: [PATCH] MIPS: Fix missing arcs_cmdline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jaedon,

On Fri, Mar 16, 2018 at 3:59 AM, Jaedon Shin <jaedon.shin@xxxxxxxxx> wrote:
> Due to commit 8ce355cf2e38 ("MIPS: Setup boot_command_line before
> plat_mem_setup"), the value of arcs_command by prom_init is removed.
> boot_command_line is initialized with __dt_setup_arch from
> plat_mem_setup, but arcs_command is copied to boot_command_line before
> plat_mem_setup by previous commit. This commit recover missing
> arcs_command by prom_init.

If I cherry-pick your commit into my local branch I can no longer boot
my MIPS Creator CI20. The sad part is that nothing shows up in the log
(screen + tty) to indicate what the issue might be.

> Fixes: 8ce355cf2e38 ("MIPS: Setup boot_command_line before plat_mem_setup")
> Signed-off-by: Jaedon Shin <jaedon.shin@xxxxxxxxx>
> ---
>  arch/mips/kernel/setup.c | 36 +++++++++++++++++-------------------
>  1 file changed, 17 insertions(+), 19 deletions(-)
>
> diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c
> index 5f8b0a9e30b3..e87f468f76dc 100644
> --- a/arch/mips/kernel/setup.c
> +++ b/arch/mips/kernel/setup.c
> @@ -836,30 +836,12 @@ static void __init arch_mem_init(char **cmdline_p)
>
>  #if defined(CONFIG_CMDLINE_BOOL) && defined(CONFIG_CMDLINE_OVERRIDE)
>         strlcpy(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
> -#else
> -       if ((USE_PROM_CMDLINE && arcs_cmdline[0]) ||
> -           (USE_DTB_CMDLINE && !boot_command_line[0]))
> -               strlcpy(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
> -
> -       if (EXTEND_WITH_PROM && arcs_cmdline[0]) {
> -               if (boot_command_line[0])
> -                       strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
> -               strlcat(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
> -       }
> -
> -#if defined(CONFIG_CMDLINE_BOOL)
> +#elif defined(CONFIG_CMDLINE_BOOL)
>         if (builtin_cmdline[0]) {
>                 if (boot_command_line[0])
>                         strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
>                 strlcat(boot_command_line, builtin_cmdline, COMMAND_LINE_SIZE);
>         }
> -
> -       if (BUILTIN_EXTEND_WITH_PROM && arcs_cmdline[0]) {
> -               if (boot_command_line[0])
> -                       strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
> -               strlcat(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
> -       }
> -#endif
>  #endif
>
>         /* call board setup routine */
> @@ -881,6 +863,22 @@ static void __init arch_mem_init(char **cmdline_p)
>         pr_info("Determined physical RAM map:\n");
>         print_memory_map();
>
> +       if ((USE_PROM_CMDLINE && arcs_cmdline[0]) ||
> +           (USE_DTB_CMDLINE && !boot_command_line[0]))
> +               strlcpy(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
> +
> +       if (EXTEND_WITH_PROM && arcs_cmdline[0]) {
> +               if (boot_command_line[0])
> +                       strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
> +               strlcat(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
> +       }
> +
> +       if (BUILTIN_EXTEND_WITH_PROM && arcs_cmdline[0]) {
> +               if (boot_command_line[0])
> +                       strlcat(boot_command_line, " ", COMMAND_LINE_SIZE);
> +               strlcat(boot_command_line, arcs_cmdline, COMMAND_LINE_SIZE);
> +       }
> +
>         strlcpy(command_line, boot_command_line, COMMAND_LINE_SIZE);
>
>         *cmdline_p = command_line;
> --
> 2.16.2
>


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux