[tip:WIP.sched/core 118/126] arch/mips/loongson64/loongson-3/cop2-ex.c:37:3: note: in expansion of macro 'KSTK_STATUS'

From: kbuild test robot
Date: Fri Feb 03 2017 - 08:05:50 EST


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 <asm/ptrace.h> from <linux/sched.h>
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 <chenhc@xxxxxxxxxx>
:::::: CC: Ralf Baechle <ralf@xxxxxxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip