tree: git://git.linux-mips.org/pub/scm/sjhill/linux-sjhill.git mips-for-linux-next head: fc048e96ed2825cfa8b71d40cfdef842b8ea59d6 commit: d0f801e14727763aadf85618917c77759fec6f81 [22/28] MIPS: Use common outgoing-CPU-notification code config: mips-64r6el_defconfig (attached as .config) compiler: mips64el-linux-gnuabi64-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout d0f801e14727763aadf85618917c77759fec6f81 # save the attached .config to linux build tree make.cross ARCH=mips All errors (new ones prefixed by >>): arch/mips/kernel/smp-cps.c: In function 'play_dead': >> arch/mips/kernel/smp-cps.c:446:8: error: implicit declaration of function 'cpu_report_death' [-Werror=implicit-function-declaration] (void)cpu_report_death(); ^~~~~~~~~~~~~~~~ arch/mips/kernel/smp-cps.c: In function 'cps_cpu_die': >> arch/mips/kernel/smp-cps.c:495:7: error: implicit declaration of function 'cpu_wait_death' [-Werror=implicit-function-declaration] if (!cpu_wait_death(cpu, 5)) { ^~~~~~~~~~~~~~ cc1: all warnings being treated as errors vim +/cpu_report_death +446 arch/mips/kernel/smp-cps.c 440 cpu_death = CPU_DEATH_HALT; 441 break; 442 } 443 } 444 445 /* This CPU has chosen its way out */ > 446 (void)cpu_report_death(); 447 448 if (cpu_death == CPU_DEATH_HALT) { 449 vpe_id = cpu_vpe_id(&cpu_data[cpu]); 450 451 pr_debug("Halting core %d VP%d\n", core, vpe_id); 452 if (cpu_has_mipsmt) { 453 /* Halt this TC */ 454 write_c0_tchalt(TCHALT_H); 455 instruction_hazard(); 456 } else if (cpu_has_vp) { 457 write_cpc_cl_vp_stop(1 << vpe_id); 458 459 /* Ensure that the VP_STOP register is written */ 460 wmb(); 461 } 462 } else { 463 pr_debug("Gating power to core %d\n", core); 464 /* Power down the core */ 465 cps_pm_enter_state(CPS_PM_POWER_GATED); 466 } 467 468 /* This should never be reached */ 469 panic("Failed to offline CPU %u", cpu); 470 } 471 472 static void wait_for_sibling_halt(void *ptr_cpu) 473 { 474 unsigned cpu = (unsigned long)ptr_cpu; 475 unsigned vpe_id = cpu_vpe_id(&cpu_data[cpu]); 476 unsigned halted; 477 unsigned long flags; 478 479 do { 480 local_irq_save(flags); 481 settc(vpe_id); 482 halted = read_tc_c0_tchalt(); 483 local_irq_restore(flags); 484 } while (!(halted & TCHALT_H)); 485 } 486 487 static void cps_cpu_die(unsigned int cpu) 488 { 489 unsigned core = cpu_data[cpu].core; 490 unsigned int vpe_id = cpu_vpe_id(&cpu_data[cpu]); 491 unsigned stat; 492 int err; 493 494 /* Wait for the cpu to choose its way out */ > 495 if (!cpu_wait_death(cpu, 5)) { 496 pr_err("CPU%u: didn't offline\n", cpu); 497 return; 498 } --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip