[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202210270830.xu7SDMbz-lkp@intel.com>
Date: Thu, 27 Oct 2022 09:05:00 +0800
From: kernel test robot <lkp@...el.com>
To: Wen Yao <haiwenyao@...ontech.com>, paul.walmsley@...ive.com,
palmer@...belt.com, aou@...s.berkeley.edu, dennis@...nel.org,
tj@...nel.org, cl@...ux.com
Cc: oe-kbuild-all@...ts.linux.dev, linux-riscv@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-mm@...ck.org,
Wen Yao <haiwenyao@...ontech.com>
Subject: Re: [PATCH 1/2] riscv: percpu:Add riscv percpu operations
Hi Wen,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on linus/master]
[also build test ERROR on v6.1-rc2 next-20221026]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Wen-Yao/riscv-Rewrite-percpu-operations-and-support-cmpxchg-local-feature/20221026-184310
patch link: https://lore.kernel.org/r/20221026104015.565468-2-haiwenyao%40uniontech.com
patch subject: [PATCH 1/2] riscv: percpu:Add riscv percpu operations
config: riscv-rv32_defconfig
compiler: riscv32-linux-gcc (GCC) 12.1.0
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
# https://github.com/intel-lab-lkp/linux/commit/bb33e199935b65336d45c367d7581682dff63cdb
git remote add linux-review https://github.com/intel-lab-lkp/linux
git fetch --no-tags linux-review Wen-Yao/riscv-Rewrite-percpu-operations-and-support-cmpxchg-local-feature/20221026-184310
git checkout bb33e199935b65336d45c367d7581682dff63cdb
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@...el.com>
All errors (new ones prefixed by >>):
arch/riscv/include/asm/percpu.h: Assembler messages:
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a0,a3,0(a4)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a3,a4,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a0,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a0,a3,0(a5)'
--
arch/riscv/include/asm/percpu.h: Assembler messages:
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
--
arch/riscv/include/asm/percpu.h: Assembler messages:
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
--
arch/riscv/include/asm/percpu.h: Assembler messages:
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a5,0(a3)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a1,a2,0(a5)'
--
arch/riscv/include/asm/percpu.h: Assembler messages:
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a3,s6,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a3,a0,0(a5)'
--
arch/riscv/include/asm/percpu.h: Assembler messages:
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a3,s2,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a3,s2,0(a5)'
--
arch/riscv/include/asm/percpu.h: Assembler messages:
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a3,a1,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a4,0(a5)'
--
arch/riscv/include/asm/percpu.h: Assembler messages:
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a3,a1,0(a5)'
>> arch/riscv/include/asm/percpu.h:38: Error: unrecognized opcode `amoadd.d a2,a3,0(a5)'
vim +38 arch/riscv/include/asm/percpu.h
9
10 #define PERCPU_OP(op, asm_op, c_op) \
11 static inline unsigned long __percpu_##op(void *ptr, \
12 unsigned long val, int size) \
13 { \
14 unsigned long ret; \
15 switch (size) { \
16 case 4: \
17 __asm__ __volatile__( \
18 "amo" #asm_op ".w" \
19 " %[ret], %[val], %[ptr]\n" \
20 : [ret] "=&r"(ret), [ptr] "+A"(*(u32 *)ptr) \
21 : [val] "r"(val)); \
22 break; \
23 case 8: \
24 __asm__ __volatile__( \
25 "amo" #asm_op ".d" \
26 " %[ret], %[val], %[ptr]\n" \
27 : [ret] "=&r"(ret), [ptr] "+A"(*(u64 *)ptr) \
28 : [val] "r"(val)); \
29 break; \
30 default: \
31 ret = 0; \
32 BUILD_BUG(); \
33 } \
34 \
35 return ret c_op val; \
36 }
37
> 38 PERCPU_OP(add, add, +)
39 PERCPU_OP(and, and, &)
40 PERCPU_OP(or, or, |)
41 #undef PERCPU_OP
42
--
0-DAY CI Kernel Test Service
https://01.org/lkp
View attachment "config" of type "text/plain" (113893 bytes)
Powered by blists - more mailing lists