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

Reply via email to