[l1k:smsc95xx_5.17 56/887] arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
From: kernel test robot
Date: Fri Apr 08 2022 - 08:57:35 EST
tree: https://github.com/l1k/linux smsc95xx_5.17
head: 05d68ced287b30f62f18f95b5476135ef669804a
commit: a8197852bb8f1f6804cff9442d426888e97aaed3 [56/887] Add dwc_otg driver
config: arm-randconfig-r013-20220408 (https://download.01.org/0day-ci/archive/20220408/202204082019.m8kwLvwM-lkp@xxxxxxxxx/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c29a51b3a257908aebc01cd7c4655665db317d66)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://github.com/l1k/linux/commit/a8197852bb8f1f6804cff9442d426888e97aaed3
git remote add l1k https://github.com/l1k/linux
git fetch --no-tags l1k smsc95xx_5.17
git checkout a8197852bb8f1f6804cff9442d426888e97aaed3
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash drivers/usb/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>
All errors (new ones prefixed by >>):
In file included from drivers/usb/core/hub.c:13:
In file included from include/linux/kernel.h:22:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
1 error generated.
--
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r1 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r1 @ local_irq_restore
^
>> <inline asm>:1:13: error: invalid operand for instruction
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r1 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r1 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r1 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
In file included from drivers/usb/core/hcd.c:13:
In file included from include/linux/module.h:13:
In file included from include/linux/stat.h:19:
In file included from include/linux/time.h:6:
In file included from include/linux/math64.h:6:
In file included from include/linux/math.h:5:
In file included from arch/arm/include/asm/div64.h:107:
In file included from include/asm-generic/div64.h:55:
In file included from include/linux/log2.h:12:
In file included from include/linux/bitops.h:33:
In file included from arch/arm/include/asm/bitops.h:28:
In file included from include/linux/irqflags.h:16:
>> arch/arm/include/asm/irqflags.h:182:3: error: invalid operand for instruction
" msr cpsr_c, %0 @ local_irq_restore"
^
<inline asm>:1:13: note: instantiated into assembly here
msr cpsr_c, r0 @ local_irq_restore
^
18 errors generated.
..
vim +182 arch/arm/include/asm/irqflags.h
164
165 /*
166 * restore saved IRQ state
167 */
168 #define arch_local_irq_restore arch_local_irq_restore
169 static inline void arch_local_irq_restore(unsigned long flags)
170 {
171 unsigned long temp = 0;
172 flags &= ~(1 << 6);
173 asm volatile (
174 " mrs %0, cpsr"
175 : "=r" (temp)
176 :
177 : "memory", "cc");
178 /* Preserve FIQ bit */
179 temp &= (1 << 6);
180 flags = flags | temp;
181 asm volatile (
> 182 " msr cpsr_c, %0 @ local_irq_restore"
183 :
184 : "r" (flags)
185 : "memory", "cc");
186 }
187
--
0-DAY CI Kernel Test Service
https://01.org/lkp