tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git WIP.x86/iopl head: 90691cbd79871ddb1f457caed527ec9aada0c2ae commit: e8d8b8bbdd5563540bbb597ed09d40b71dfdad02 [3/9] x86/cpu: Unify cpu_init() config: i386-randconfig-a003-201944 (attached as .config) compiler: gcc-5 (Ubuntu 5.5.0-12ubuntu1) 5.5.0 20171010 reproduce: git checkout e8d8b8bbdd5563540bbb597ed09d40b71dfdad02 # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): arch/x86/kernel/cpu/common.c: In function 'cpu_init': >> arch/x86/kernel/cpu/common.c:1886:6: error: implicit declaration of function 'is_uv_system' [-Werror=implicit-function-declaration] if (is_uv_system()) ^ >> arch/x86/kernel/cpu/common.c:1887:3: error: implicit declaration of function 'uv_cpu_init' [-Werror=implicit-function-declaration] uv_cpu_init(); ^ cc1: some warnings being treated as errors vim +/is_uv_system +1886 arch/x86/kernel/cpu/common.c b2e2ba578e016a arch/x86/kernel/cpu/common.c Chang S. Bae 2018-09-18 1809 d2cbcc49e2bfd6 arch/i386/kernel/cpu/common.c Rusty Russell 2007-05-02 1810 /* d2cbcc49e2bfd6 arch/i386/kernel/cpu/common.c Rusty Russell 2007-05-02 1811 * cpu_init() initializes state that is per-CPU. Some data is already d2cbcc49e2bfd6 arch/i386/kernel/cpu/common.c Rusty Russell 2007-05-02 1812 * initialized (naturally) in the bootstrap process, such as the GDT d2cbcc49e2bfd6 arch/i386/kernel/cpu/common.c Rusty Russell 2007-05-02 1813 * and IDT. We reload them nevertheless, this function acts as a d2cbcc49e2bfd6 arch/i386/kernel/cpu/common.c Rusty Russell 2007-05-02 1814 * 'CPU state barrier', nothing should get across. d2cbcc49e2bfd6 arch/i386/kernel/cpu/common.c Rusty Russell 2007-05-02 1815 */ 148f9bb87745ed arch/x86/kernel/cpu/common.c Paul Gortmaker 2013-06-18 1816 void cpu_init(void) 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1817 { e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1818 struct tss_struct *tss = this_cpu_ptr(&cpu_tss_rw); e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1819 struct task_struct *cur = current; f6ef73224a0f04 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-04-14 1820 int cpu = raw_smp_processor_id(); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1821 ce4b1b16502b18 arch/x86/kernel/cpu/common.c Igor Mammedov 2014-06-20 1822 wait_for_master_cpu(cpu); ce4b1b16502b18 arch/x86/kernel/cpu/common.c Igor Mammedov 2014-06-20 1823 e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1824 ucode_cpu_init(cpu); 0f3fa48a7eaf5d arch/x86/kernel/cpu/common.c Ingo Molnar 2009-03-14 1825 e7a22c1ebcc1ca arch/x86/kernel/cpu/common.c Brian Gerst 2009-01-19 1826 #ifdef CONFIG_NUMA 27fd185f3d9e83 arch/x86/kernel/cpu/common.c Fenghua Yu 2012-11-13 1827 if (this_cpu_read(numa_node) == 0 && e534c7c5f8d6e9 arch/x86/kernel/cpu/common.c Lee Schermerhorn 2010-05-26 1828 early_cpu_to_node(cpu) != NUMA_NO_NODE) e534c7c5f8d6e9 arch/x86/kernel/cpu/common.c Lee Schermerhorn 2010-05-26 1829 set_numa_node(early_cpu_to_node(cpu)); e7a22c1ebcc1ca arch/x86/kernel/cpu/common.c Brian Gerst 2009-01-19 1830 #endif b2e2ba578e016a arch/x86/kernel/cpu/common.c Chang S. Bae 2018-09-18 1831 setup_getcpu(cpu); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1832 2eaad1fddd7450 arch/x86/kernel/cpu/common.c Mike Travis 2009-12-10 1833 pr_debug("Initializing CPU#%d\n", cpu); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1834 e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1835 if (IS_ENABLED(CONFIG_X86_64) || cpu_feature_enabled(X86_FEATURE_VME) || e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1836 boot_cpu_has(X86_FEATURE_TSC) || boot_cpu_has(X86_FEATURE_DE)) 375074cc736ab1 arch/x86/kernel/cpu/common.c Andy Lutomirski 2014-10-24 1837 cr4_clear_bits(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1838 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1839 /* 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1840 * Initialize the per-CPU GDT with the boot GDT, 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1841 * and set up the GDT descriptor: 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1842 */ 552be871e67ff5 arch/x86/kernel/cpu/common.c Brian Gerst 2009-01-30 1843 switch_to_new_gdt(cpu); cf910e83ae2369 arch/x86/kernel/cpu/common.c Seiji Aguchi 2013-06-20 1844 load_current_idt(); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1845 e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1846 if (IS_ENABLED(CONFIG_X86_64)) { e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1847 loadsegment(fs, 0); e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1848 memset(cur->thread.tls_array, 0, GDT_ENTRY_TLS_ENTRIES * 8); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1849 syscall_init(); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1850 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1851 wrmsrl(MSR_FS_BASE, 0); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1852 wrmsrl(MSR_KERNEL_GS_BASE, 0); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1853 barrier(); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1854 659006bf3ae37a arch/x86/kernel/cpu/common.c Thomas Gleixner 2015-01-15 1855 x2apic_setup(); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1856 } 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1857 f1f1007644ffc8 arch/x86/kernel/cpu/common.c Vegard Nossum 2017-02-27 1858 mmgrab(&init_mm); e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1859 cur->active_mm = &init_mm; e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1860 BUG_ON(cur->mm); 72c0098d92cedb arch/x86/kernel/cpu/common.c Andy Lutomirski 2017-09-06 1861 initialize_tlbstate_and_flush(); e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1862 enter_lazy_tlb(&init_mm, cur); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1863 e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1864 /* Initialize the TSS. */ e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1865 tss_setup_ist(tss); e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1866 tss->x86_tss.io_bitmap_base = IO_BITMAP_OFFSET; e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1867 memset(tss->io_bitmap, 0xff, sizeof(tss->io_bitmap)); 72f5e08dbba2d0 arch/x86/kernel/cpu/common.c Andy Lutomirski 2017-12-04 1868 set_tss_desc(cpu, &get_cpu_entry_area(cpu)->tss.x86_tss); e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1869 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1870 load_TR_desc(); e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1871 /* e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1872 * sp0 points to the entry trampoline stack regardless of what task e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1873 * is running. e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1874 */ 4fe2d8b11a370a arch/x86/kernel/cpu/common.c Dave Hansen 2017-12-04 1875 load_sp0((unsigned long)(cpu_entry_stack(cpu) + 1)); 20bb83443ea790 arch/x86/kernel/cpu/common.c Andy Lutomirski 2017-11-02 1876 37868fe113ff2b arch/x86/kernel/cpu/common.c Andy Lutomirski 2015-07-30 1877 load_mm_ldt(&init_mm); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1878 9766cdbcb26038 arch/x86/kernel/cpu/common.c Jaswinder Singh Rajput 2009-03-14 1879 clear_all_debug_regs(); 0bb9fef9134cf4 arch/x86/kernel/cpu/common.c Jason Wessel 2010-05-20 1880 dbg_restore_debug_regs(); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1881 e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1882 gdt_setup_doublefault_tss(cpu); e8d8b8bbdd5563 arch/x86/kernel/cpu/common.c Thomas Gleixner 2019-10-25 1883 21c4cd108a1b14 arch/x86/kernel/cpu/common.c Ingo Molnar 2015-04-26 1884 fpu__init_cpu(); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1885 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 @1886 if (is_uv_system()) 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 @1887 uv_cpu_init(); 69218e47994da6 arch/x86/kernel/cpu/common.c Thomas Garnier 2017-03-14 1888 69218e47994da6 arch/x86/kernel/cpu/common.c Thomas Garnier 2017-03-14 1889 load_fixmap_gdt(cpu); 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1890 } 1ba76586f778be arch/x86/kernel/cpu/common.c Yinghai Lu 2008-09-04 1891 :::::: The code at line 1886 was first introduced by commit :::::: 1ba76586f778be327e452180d8378e40ee70f066 x86: cpu/common*.c have same cpu_init(), with copying and #ifdef :::::: TO: Yinghai Lu :::::: CC: Ingo Molnar --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org Intel Corporation