Hi Shashank, kernel test robot noticed the following build errors:
[auto build test ERROR on 18f7fcd5e69a04df57b563360b88be72471d6b62] url: https://github.com/intel-lab-lkp/linux/commits/Shashank-Balaji/x86-x2apic-disable-x2apic-on-resume-if-the-kernel-expects-so/20260202-181147 base: 18f7fcd5e69a04df57b563360b88be72471d6b62 patch link: https://lore.kernel.org/r/20260202-x2apic-fix-v1-1-71c8f488a88b%40sony.com patch subject: [PATCH 1/3] x86/x2apic: disable x2apic on resume if the kernel expects so config: i386-randconfig-001-20260202 (https://download.01.org/0day-ci/archive/20260203/[email protected]/config) compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260203/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ All errors (new ones prefixed by >>): >> arch/x86/kernel/apic/apic.c:2463:3: error: call to undeclared function >> '__x2apic_disable'; ISO C99 and later do not support implicit function >> declarations [-Wimplicit-function-declaration] 2463 | __x2apic_disable(); | ^ arch/x86/kernel/apic/apic.c:2463:3: note: did you mean '__x2apic_enable'? arch/x86/kernel/apic/apic.c:1896:20: note: '__x2apic_enable' declared here 1896 | static inline void __x2apic_enable(void) { } | ^ 1 error generated. vim +/__x2apic_disable +2463 arch/x86/kernel/apic/apic.c 2435 2436 static void lapic_resume(void *data) 2437 { 2438 unsigned int l, h; 2439 unsigned long flags; 2440 int maxlvt; 2441 2442 if (!apic_pm_state.active) 2443 return; 2444 2445 local_irq_save(flags); 2446 2447 /* 2448 * IO-APIC and PIC have their own resume routines. 2449 * We just mask them here to make sure the interrupt 2450 * subsystem is completely quiet while we enable x2apic 2451 * and interrupt-remapping. 2452 */ 2453 mask_ioapic_entries(); 2454 legacy_pic->mask_all(); 2455 2456 if (x2apic_mode) { 2457 __x2apic_enable(); 2458 } else { 2459 /* 2460 * x2apic may have been re-enabled by the 2461 * firmware on resuming from s2ram 2462 */ > 2463 __x2apic_disable(); 2464 2465 /* 2466 * Make sure the APICBASE points to the right address 2467 * 2468 * FIXME! This will be wrong if we ever support suspend on 2469 * SMP! We'll need to do this as part of the CPU restore! 2470 */ 2471 if (boot_cpu_data.x86 >= 6) { 2472 rdmsr(MSR_IA32_APICBASE, l, h); 2473 l &= ~MSR_IA32_APICBASE_BASE; 2474 l |= MSR_IA32_APICBASE_ENABLE | mp_lapic_addr; 2475 wrmsr(MSR_IA32_APICBASE, l, h); 2476 } 2477 } 2478 2479 maxlvt = lapic_get_maxlvt(); 2480 apic_write(APIC_LVTERR, ERROR_APIC_VECTOR | APIC_LVT_MASKED); 2481 apic_write(APIC_ID, apic_pm_state.apic_id); 2482 apic_write(APIC_DFR, apic_pm_state.apic_dfr); 2483 apic_write(APIC_LDR, apic_pm_state.apic_ldr); 2484 apic_write(APIC_TASKPRI, apic_pm_state.apic_taskpri); 2485 apic_write(APIC_SPIV, apic_pm_state.apic_spiv); 2486 apic_write(APIC_LVT0, apic_pm_state.apic_lvt0); 2487 apic_write(APIC_LVT1, apic_pm_state.apic_lvt1); 2488 #ifdef CONFIG_X86_THERMAL_VECTOR 2489 if (maxlvt >= 5) 2490 apic_write(APIC_LVTTHMR, apic_pm_state.apic_thmr); 2491 #endif 2492 #ifdef CONFIG_X86_MCE_INTEL 2493 if (maxlvt >= 6) 2494 apic_write(APIC_LVTCMCI, apic_pm_state.apic_cmci); 2495 #endif 2496 if (maxlvt >= 4) 2497 apic_write(APIC_LVTPC, apic_pm_state.apic_lvtpc); 2498 apic_write(APIC_LVTT, apic_pm_state.apic_lvtt); 2499 apic_write(APIC_TDCR, apic_pm_state.apic_tdcr); 2500 apic_write(APIC_TMICT, apic_pm_state.apic_tmict); 2501 apic_write(APIC_ESR, 0); 2502 apic_read(APIC_ESR); 2503 apic_write(APIC_LVTERR, apic_pm_state.apic_lvterr); 2504 apic_write(APIC_ESR, 0); 2505 apic_read(APIC_ESR); 2506 2507 irq_remapping_reenable(x2apic_mode); 2508 2509 local_irq_restore(flags); 2510 } 2511 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
