tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git WIP.sched/core head: bf68e1ec5a1af0e494c2557ddc3de4d3eff52ce6 commit: 297dfd2a653a202557af465e87e0aa5d106a15b1 [118/126] sched/headers: Remove from config: mips-loongson3_defconfig (attached as .config) compiler: mips64el-linux-gnuabi64-gcc (Debian 6.1.1-9) 6.1.1 20160705 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 297dfd2a653a202557af465e87e0aa5d106a15b1 # save the attached .config to linux build tree make.cross ARCH=mips All warnings (new ones prefixed by >>): In file included from arch/mips/include/asm/thread_info.h:15:0, from include/linux/thread_info.h:25, from include/asm-generic/preempt.h:4, from ./arch/mips/include/generated/asm/preempt.h:1, from include/linux/preempt.h:59, from include/linux/spinlock.h:50, from include/linux/seqlock.h:35, from include/linux/time.h:5, from include/uapi/linux/timex.h:56, from include/linux/timex.h:56, from include/linux/sched.h:13, from arch/mips/loongson64/loongson-3/cop2-ex.c:14: arch/mips/include/asm/fpu.h: In function '__own_fpu': arch/mips/include/asm/processor.h:385:31: error: invalid application of 'sizeof' to incomplete type 'struct pt_regs' THREAD_SIZE - 32 - sizeof(struct pt_regs)) ^ arch/mips/include/asm/processor.h:386:46: note: in expansion of macro '__KSTK_TOS' #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk)) ^~~~~~~~~~ arch/mips/include/asm/processor.h:389:27: note: in expansion of macro 'task_pt_regs' #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) ^~~~~~~~~~~~ arch/mips/include/asm/fpu.h:135:2: note: in expansion of macro 'KSTK_STATUS' KSTK_STATUS(current) |= ST0_CU1; ^~~~~~~~~~~ arch/mips/include/asm/processor.h:385:31: error: invalid application of 'sizeof' to incomplete type 'struct pt_regs' THREAD_SIZE - 32 - sizeof(struct pt_regs)) ^ arch/mips/include/asm/processor.h:386:46: note: in expansion of macro '__KSTK_TOS' #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk)) ^~~~~~~~~~ arch/mips/include/asm/processor.h:389:27: note: in expansion of macro 'task_pt_regs' #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) ^~~~~~~~~~~~ arch/mips/include/asm/fpu.h:137:3: note: in expansion of macro 'KSTK_STATUS' KSTK_STATUS(current) |= ST0_FR; ^~~~~~~~~~~ arch/mips/include/asm/processor.h:385:31: error: invalid application of 'sizeof' to incomplete type 'struct pt_regs' THREAD_SIZE - 32 - sizeof(struct pt_regs)) ^ arch/mips/include/asm/processor.h:386:46: note: in expansion of macro '__KSTK_TOS' #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk)) ^~~~~~~~~~ arch/mips/include/asm/processor.h:389:27: note: in expansion of macro 'task_pt_regs' #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) ^~~~~~~~~~~~ arch/mips/include/asm/fpu.h:139:3: note: in expansion of macro 'KSTK_STATUS' KSTK_STATUS(current) &= ~ST0_FR; ^~~~~~~~~~~ arch/mips/include/asm/fpu.h: In function 'lose_fpu_inatomic': arch/mips/include/asm/processor.h:385:31: error: invalid application of 'sizeof' to incomplete type 'struct pt_regs' THREAD_SIZE - 32 - sizeof(struct pt_regs)) ^ arch/mips/include/asm/processor.h:386:46: note: in expansion of macro '__KSTK_TOS' #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk)) ^~~~~~~~~~ arch/mips/include/asm/processor.h:389:27: note: in expansion of macro 'task_pt_regs' #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) ^~~~~~~~~~~~ arch/mips/include/asm/fpu.h:187:2: note: in expansion of macro 'KSTK_STATUS' KSTK_STATUS(tsk) &= ~ST0_CU1; ^~~~~~~~~~~ arch/mips/loongson64/loongson-3/cop2-ex.c: In function 'loongson_cu2_call': arch/mips/include/asm/processor.h:385:31: error: invalid application of 'sizeof' to incomplete type 'struct pt_regs' THREAD_SIZE - 32 - sizeof(struct pt_regs)) ^ arch/mips/include/asm/processor.h:386:46: note: in expansion of macro '__KSTK_TOS' #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk)) ^~~~~~~~~~ arch/mips/include/asm/processor.h:389:27: note: in expansion of macro 'task_pt_regs' #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) ^~~~~~~~~~~~ >> arch/mips/loongson64/loongson-3/cop2-ex.c:37:3: note: in expansion of macro 'KSTK_STATUS' KSTK_STATUS(current) |= (ST0_CU1 | ST0_CU2); ^~~~~~~~~~~ arch/mips/include/asm/processor.h:385:31: error: invalid application of 'sizeof' to incomplete type 'struct pt_regs' THREAD_SIZE - 32 - sizeof(struct pt_regs)) ^ arch/mips/include/asm/processor.h:386:46: note: in expansion of macro '__KSTK_TOS' #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk)) ^~~~~~~~~~ arch/mips/include/asm/processor.h:389:27: note: in expansion of macro 'task_pt_regs' #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) ^~~~~~~~~~~~ arch/mips/loongson64/loongson-3/cop2-ex.c:39:4: note: in expansion of macro 'KSTK_STATUS' KSTK_STATUS(current) |= ST0_FR; ^~~~~~~~~~~ arch/mips/include/asm/processor.h:385:31: error: invalid application of 'sizeof' to incomplete type 'struct pt_regs' THREAD_SIZE - 32 - sizeof(struct pt_regs)) ^ arch/mips/include/asm/processor.h:386:46: note: in expansion of macro '__KSTK_TOS' #define task_pt_regs(tsk) ((struct pt_regs *)__KSTK_TOS(tsk)) ^~~~~~~~~~ arch/mips/include/asm/processor.h:389:27: note: in expansion of macro 'task_pt_regs' #define KSTK_STATUS(tsk) (task_pt_regs(tsk)->cp0_status) ^~~~~~~~~~~~ arch/mips/loongson64/loongson-3/cop2-ex.c:41:4: note: in expansion of macro 'KSTK_STATUS' KSTK_STATUS(current) &= ~ST0_FR; ^~~~~~~~~~~ vim +/KSTK_STATUS +37 arch/mips/loongson64/loongson-3/cop2-ex.c ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 21 ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 22 static int loongson_cu2_call(struct notifier_block *nfb, unsigned long action, ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 23 void *data) ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 24 { bfcdf130 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-08-11 25 int fpu_owned; ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 26 int fr = !test_thread_flag(TIF_32BIT_FPREGS); ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 27 ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 28 switch (action) { ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 29 case CU2_EXCEPTION: ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 30 preempt_disable(); bfcdf130 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-08-11 31 fpu_owned = __is_fpu_owner(); ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 32 if (!fr) ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 33 set_c0_status(ST0_CU1 | ST0_CU2); ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 34 else ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 35 set_c0_status(ST0_CU1 | ST0_CU2 | ST0_FR); ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 36 enable_fpu_hazard(); ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 @37 KSTK_STATUS(current) |= (ST0_CU1 | ST0_CU2); ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 38 if (fr) ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 39 KSTK_STATUS(current) |= ST0_FR; ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 40 else ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 41 KSTK_STATUS(current) &= ~ST0_FR; bfcdf130 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-08-11 42 /* If FPU is owned, we needn't init or restore fp */ bfcdf130 arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-08-11 43 if (!fpu_owned) { ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 44 set_thread_flag(TIF_USEDFPU); ef2f826c arch/mips/loongson/loongson-3/cop2-ex.c Huacai Chen 2014-06-26 45 if (!used_math()) { :::::: The code at line 37 was first introduced by commit :::::: ef2f826c8f2ff1e4215968042139604633581a13 MIPS: Loongson-3: Enable the COP2 usage :::::: TO: Huacai Chen :::::: CC: Ralf Baechle --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation