Message ID | 1620266570-21585-1-git-send-email-tangyouling@loongson.cn (mailing list archive) |
---|---|
State | Accepted |
Commit | 6a73022ee3fdf7e60f2ba0a3a835dd421c05b5b5 |
Headers | show |
Series | MIPS: Loongson64: Fix build error 'secondary_kexec_args' undeclared under !SMP | expand |
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@intel.com> > Signed-off-by: Youling Tang <tangyouling@loongson.cn> > --- > 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@infradead.org> Yep, slightly better than my version: https://lore.kernel.org/lkml/20210430205055.13594-1-rdunlap@infradead.org/
On 05/06/2021 10:02 AM, 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@intel.com> > Signed-off-by: Youling Tang <tangyouling@loongson.cn> > --- > 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); > } Hi, Youling, The earlier fix is here, https://lkml.org/lkml/2021/4/30/874 Thanks.
Hi,Randy On 05/06/2021 10:19 AM, Randy Dunlap wrote: > 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@intel.com> >> Signed-off-by: Youling Tang <tangyouling@loongson.cn> >> --- >> 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@infradead.org> > > Yep, slightly better than my version: > https://lore.kernel.org/lkml/20210430205055.13594-1-rdunlap@infradead.org/ Sorry, I didn’t see the patch you sent at that time. Thanks, Youling.
Hi, Jinyang On 05/06/2021 10:21 AM, Jinyang He wrote: > On 05/06/2021 10:02 AM, 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@intel.com> >> Signed-off-by: Youling Tang <tangyouling@loongson.cn> >> --- >> 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); >> } > > Hi, Youling, > > The earlier fix is here, > https://lkml.org/lkml/2021/4/30/874 > Thank you for reminding me. Thanks, Youling. > Thanks.
On Thu, May 06, 2021 at 10:02:50AM +0800, 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@intel.com> > Signed-off-by: Youling Tang <tangyouling@loongson.cn> > --- > arch/mips/loongson64/reset.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) applied to mips-next. Thomas.
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); }
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@intel.com> Signed-off-by: Youling Tang <tangyouling@loongson.cn> --- arch/mips/loongson64/reset.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)