2021-04-30 20:56:07

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH] mips: loongson64: fix reset.c build errors when SMP=n

The variable 'secondary_kexec_args' is only declared when
CONFIG_SMP=y. When CONFIG_SMP is not set, referencing the variable
causes syntax errors, so guard the references with #ifdef CONFIG_SMP.

../arch/mips/loongson64/reset.c: In function 'loongson_kexec_shutdown':
../arch/mips/loongson64/reset.c:133:2: error: 'secondary_kexec_args' undeclared (first use in this function)
133 | secondary_kexec_args[0] = TO_UNCAC(0x3ff01000);
| ^~~~~~~~~~~~~~~~~~~~
../arch/mips/loongson64/reset.c: In function 'loongson_crash_shutdown':
../arch/mips/loongson64/reset.c:144:2: error: 'secondary_kexec_args' undeclared (first use in this function)
144 | secondary_kexec_args[0] = TO_UNCAC(0x3ff01000);
| ^~~~~~~~~~~~~~~~~~~~

Fixes: 6ce48897ce47 ("MIPS: Loongson64: Add kexec/kdump support")
Signed-off-by: Randy Dunlap <[email protected]>
Reported-by: kernel test robot <[email protected]>
Cc: Huacai Chen <[email protected]>
Cc: Thomas Bogendoerfer <[email protected]>
Cc: Jinyang He <[email protected]>
---
arch/mips/loongson64/reset.c | 4 ++++
1 file changed, 4 insertions(+)

--- linux-next-20210430.orig/arch/mips/loongson64/reset.c
+++ linux-next-20210430/arch/mips/loongson64/reset.c
@@ -130,7 +130,9 @@ static void loongson_kexec_shutdown(void
kexec_args[0] = kexec_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, kexec_argv, KEXEC_ARGV_SIZE);
memcpy((void *)fw_arg2, kexec_envp, KEXEC_ENVP_SIZE);
}
@@ -141,7 +143,9 @@ static void loongson_crash_shutdown(stru
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);
}