arch/powerpc/platforms/85xx/smp.c:401:20: error: 'crashing_cpu' undeclared; did you mean 'crash_save_cpu'?

From: kernel test robot
Date: Sun Mar 24 2024 - 06:04:41 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 70293240c5ce675a67bfc48f419b093023b862b3
commit: 5c4233cc0920cc90787aafe950b90f6c57a35b88 powerpc/kdump: Split KEXEC_CORE and CRASH_DUMP dependency
date: 7 days ago
config: powerpc64-randconfig-r023-20211203 (https://download.01.org/0day-ci/archive/20240324/202403241807.UsbRbcYO-lkp@xxxxxxxxx/config)
compiler: powerpc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240324/202403241807.UsbRbcYO-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403241807.UsbRbcYO-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

arch/powerpc/platforms/85xx/smp.c: In function 'mpc85xx_smp_kexec_cpu_down':
>> arch/powerpc/platforms/85xx/smp.c:401:20: error: 'crashing_cpu' undeclared (first use in this function); did you mean 'crash_save_cpu'?
401 | if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
| ^~~~~~~~~~~~
| crash_save_cpu
arch/powerpc/platforms/85xx/smp.c:401:20: note: each undeclared identifier is reported only once for each function it appears in


vim +401 arch/powerpc/platforms/85xx/smp.c

f933a41e419a954 Matthew McClintock 2010-07-21 380
f933a41e419a954 Matthew McClintock 2010-07-21 381 static void mpc85xx_smp_kexec_down(void *arg)
f933a41e419a954 Matthew McClintock 2010-07-21 382 {
f933a41e419a954 Matthew McClintock 2010-07-21 383 if (ppc_md.kexec_cpu_down)
f933a41e419a954 Matthew McClintock 2010-07-21 384 ppc_md.kexec_cpu_down(0,1);
f933a41e419a954 Matthew McClintock 2010-07-21 385 }
939fbf00805b395 Tiejun Chen 2015-10-06 386 #else
84a61fb43fdfc52 Michael Ellerman 2021-11-24 387 static void mpc85xx_smp_kexec_cpu_down(int crash_shutdown, int secondary)
939fbf00805b395 Tiejun Chen 2015-10-06 388 {
f34b3e19fd060b8 Scott Wood 2015-10-06 389 int cpu = smp_processor_id();
f34b3e19fd060b8 Scott Wood 2015-10-06 390 int sibling = cpu_last_thread_sibling(cpu);
f34b3e19fd060b8 Scott Wood 2015-10-06 391 bool notified = false;
f34b3e19fd060b8 Scott Wood 2015-10-06 392 int disable_cpu;
f34b3e19fd060b8 Scott Wood 2015-10-06 393 int disable_threadbit = 0;
f34b3e19fd060b8 Scott Wood 2015-10-06 394 long start = mftb();
f34b3e19fd060b8 Scott Wood 2015-10-06 395 long now;
f34b3e19fd060b8 Scott Wood 2015-10-06 396
939fbf00805b395 Tiejun Chen 2015-10-06 397 local_irq_disable();
939fbf00805b395 Tiejun Chen 2015-10-06 398 hard_irq_disable();
939fbf00805b395 Tiejun Chen 2015-10-06 399 mpic_teardown_this_cpu(secondary);
f34b3e19fd060b8 Scott Wood 2015-10-06 400
f34b3e19fd060b8 Scott Wood 2015-10-06 @401 if (cpu == crashing_cpu && cpu_thread_in_core(cpu) != 0) {
f34b3e19fd060b8 Scott Wood 2015-10-06 402 /*
f34b3e19fd060b8 Scott Wood 2015-10-06 403 * We enter the crash kernel on whatever cpu crashed,
f34b3e19fd060b8 Scott Wood 2015-10-06 404 * even if it's a secondary thread. If that's the case,
f34b3e19fd060b8 Scott Wood 2015-10-06 405 * disable the corresponding primary thread.
f34b3e19fd060b8 Scott Wood 2015-10-06 406 */
f34b3e19fd060b8 Scott Wood 2015-10-06 407 disable_threadbit = 1;
f34b3e19fd060b8 Scott Wood 2015-10-06 408 disable_cpu = cpu_first_thread_sibling(cpu);
f34b3e19fd060b8 Scott Wood 2015-10-06 409 } else if (sibling != crashing_cpu &&
f34b3e19fd060b8 Scott Wood 2015-10-06 410 cpu_thread_in_core(cpu) == 0 &&
f34b3e19fd060b8 Scott Wood 2015-10-06 411 cpu_thread_in_core(sibling) != 0) {
f34b3e19fd060b8 Scott Wood 2015-10-06 412 disable_threadbit = 2;
f34b3e19fd060b8 Scott Wood 2015-10-06 413 disable_cpu = sibling;
f34b3e19fd060b8 Scott Wood 2015-10-06 414 }
f34b3e19fd060b8 Scott Wood 2015-10-06 415
f34b3e19fd060b8 Scott Wood 2015-10-06 416 if (disable_threadbit) {
d2e60075a3d4422 Nicholas Piggin 2018-02-14 417 while (paca_ptrs[disable_cpu]->kexec_state < KEXEC_STATE_REAL_MODE) {
f34b3e19fd060b8 Scott Wood 2015-10-06 418 barrier();
f34b3e19fd060b8 Scott Wood 2015-10-06 419 now = mftb();
f34b3e19fd060b8 Scott Wood 2015-10-06 420 if (!notified && now - start > 1000000) {
f34b3e19fd060b8 Scott Wood 2015-10-06 421 pr_info("%s/%d: waiting for cpu %d to enter KEXEC_STATE_REAL_MODE (%d)\n",
f34b3e19fd060b8 Scott Wood 2015-10-06 422 __func__, smp_processor_id(),
f34b3e19fd060b8 Scott Wood 2015-10-06 423 disable_cpu,
d2e60075a3d4422 Nicholas Piggin 2018-02-14 424 paca_ptrs[disable_cpu]->kexec_state);
f34b3e19fd060b8 Scott Wood 2015-10-06 425 notified = true;
f34b3e19fd060b8 Scott Wood 2015-10-06 426 }
f34b3e19fd060b8 Scott Wood 2015-10-06 427 }
f34b3e19fd060b8 Scott Wood 2015-10-06 428
f34b3e19fd060b8 Scott Wood 2015-10-06 429 if (notified) {
f34b3e19fd060b8 Scott Wood 2015-10-06 430 pr_info("%s: cpu %d done waiting\n",
f34b3e19fd060b8 Scott Wood 2015-10-06 431 __func__, disable_cpu);
f34b3e19fd060b8 Scott Wood 2015-10-06 432 }
f34b3e19fd060b8 Scott Wood 2015-10-06 433
f34b3e19fd060b8 Scott Wood 2015-10-06 434 mtspr(SPRN_TENC, disable_threadbit);
f34b3e19fd060b8 Scott Wood 2015-10-06 435 while (mfspr(SPRN_TENSR) & disable_threadbit)
f34b3e19fd060b8 Scott Wood 2015-10-06 436 cpu_relax();
f34b3e19fd060b8 Scott Wood 2015-10-06 437 }
939fbf00805b395 Tiejun Chen 2015-10-06 438 }
939fbf00805b395 Tiejun Chen 2015-10-06 439 #endif
f933a41e419a954 Matthew McClintock 2010-07-21 440

:::::: The code at line 401 was first introduced by commit
:::::: f34b3e19fd060b87e97c89050f2b40b8ada468a9 powerpc/e6500: kexec: Handle hardware threads

:::::: TO: Scott Wood <scottwood@xxxxxxxxxxxxx>
:::::: CC: Scott Wood <scottwood@xxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki