Re: [PATCH] MIPS: Loongson64: Fix build error 'secondary_kexec_args' undeclared under !SMP

From: Randy Dunlap
Date: Wed May 05 2021 - 22:20:01 EST


On 5/5/21 7:02 PM, Youling Tang wrote:
> On the Loongson64 platform, if CONFIG_SMP is not set, the following build
> error will occur:
> arch/mips/loongson64/reset.c:133:2: error:'secondary_kexec_args' undeclared
>
> Because the definition and declaration of secondary_kexec_args are in the
> CONFIG_SMP, the secondary_kexec_args variable should be used in CONFIG_SMP.
>
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> Signed-off-by: Youling Tang <tangyouling@xxxxxxxxxxx>
> ---
> arch/mips/loongson64/reset.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/mips/loongson64/reset.c b/arch/mips/loongson64/reset.c
> index c97bfdc..758d5d2 100644
> --- a/arch/mips/loongson64/reset.c
> +++ b/arch/mips/loongson64/reset.c
> @@ -126,11 +126,12 @@ static void loongson_kexec_shutdown(void)
> for_each_possible_cpu(cpu)
> if (!cpu_online(cpu))
> cpu_device_up(get_cpu_device(cpu));
> +
> + secondary_kexec_args[0] = TO_UNCAC(0x3ff01000);
> #endif
> kexec_args[0] = kexec_argc;
> kexec_args[1] = fw_arg1;
> kexec_args[2] = fw_arg2;
> - secondary_kexec_args[0] = TO_UNCAC(0x3ff01000);
> memcpy((void *)fw_arg1, kexec_argv, KEXEC_ARGV_SIZE);
> memcpy((void *)fw_arg2, kexec_envp, KEXEC_ENVP_SIZE);
> }
> @@ -141,7 +142,9 @@ static void loongson_crash_shutdown(struct pt_regs *regs)
> kexec_args[0] = kdump_argc;
> kexec_args[1] = fw_arg1;
> kexec_args[2] = fw_arg2;
> +#ifdef CONFIG_SMP
> secondary_kexec_args[0] = TO_UNCAC(0x3ff01000);
> +#endif
> memcpy((void *)fw_arg1, kdump_argv, KEXEC_ARGV_SIZE);
> memcpy((void *)fw_arg2, kexec_envp, KEXEC_ENVP_SIZE);
> }
>


Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>

Yep, slightly better than my version:
https://lore.kernel.org/lkml/20210430205055.13594-1-rdunlap@xxxxxxxxxxxxx/

--
~Randy