* [ammarfaizi2-block:palmer/linux/riscv-zicbom 6/6] arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops'
@ 2022-08-04 20:47 kernel test robot
2022-08-08 8:16 ` Heiko Stübner
0 siblings, 1 reply; 2+ messages in thread
From: kernel test robot @ 2022-08-04 20:47 UTC (permalink / raw)
To: Heiko Stuebner
Cc: kbuild-all, Ammar Faizi, GNU/Weeb Mailing List, linux-kernel,
Palmer Dabbelt, Samuel Holland, Guo Ren
tree: https://github.com/ammarfaizi2/linux-block palmer/linux/riscv-zicbom
head: d20ec7529236a2fcdb2d856fc0bd80b409a217fc
commit: d20ec7529236a2fcdb2d856fc0bd80b409a217fc [6/6] riscv: implement cache-management errata for T-Head SoCs
config: riscv-randconfig-r035-20220804 (https://download.01.org/0day-ci/archive/20220805/[email protected]/config)
compiler: riscv64-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/ammarfaizi2/linux-block/commit/d20ec7529236a2fcdb2d856fc0bd80b409a217fc
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block palmer/linux/riscv-zicbom
git checkout d20ec7529236a2fcdb2d856fc0bd80b409a217fc
# 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 arch/riscv/mm/ kernel/dma/
If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
All errors (new ones prefixed by >>):
In file included from arch/riscv/include/asm/alternative.h:11,
from arch/riscv/include/asm/errata_list.h:8,
from arch/riscv/include/asm/tlbflush.h:12,
from arch/riscv/include/asm/pgtable.h:108,
from arch/riscv/include/asm/uaccess.h:12,
from include/linux/uaccess.h:11,
from include/linux/sched/task.h:11,
from include/linux/sched/signal.h:9,
from include/linux/rcuwait.h:6,
from include/linux/percpu-rwsem.h:7,
from include/linux/fs.h:33,
from include/linux/compat.h:17,
from arch/riscv/include/asm/elf.h:12,
from include/linux/elf.h:6,
from include/linux/module.h:19,
from include/linux/device/driver.h:21,
from include/linux/device.h:32,
from include/linux/dma-mapping.h:7,
from include/linux/dma-direct.h:9,
from arch/riscv/mm/dma-noncoherent.c:8:
arch/riscv/mm/dma-noncoherent.c: In function 'arch_sync_dma_for_device':
>> arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops'
128 | __nops(6), \
| ^~~~~~
arch/riscv/include/asm/alternative-macros.h:123:9: note: in definition of macro '__ALTERNATIVE_CFG_2'
123 | old_c "\n" \
| ^~~~~
arch/riscv/include/asm/alternative-macros.h:200:9: note: in expansion of macro '_ALTERNATIVE_CFG_2'
200 | _ALTERNATIVE_CFG_2(old_content, new_content_1, vendor_id_1, \
| ^~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/errata_list.h:127:14: note: in expansion of macro 'ALTERNATIVE_2'
127 | asm volatile(ALTERNATIVE_2( \
| ^~~~~~~~~~~~~
arch/riscv/mm/dma-noncoherent.c:25:17: note: in expansion of macro 'ALT_CMO_OP'
25 | ALT_CMO_OP(clean, vaddr, size, riscv_cbom_block_size);
| ^~~~~~~~~~
>> arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops'
128 | __nops(6), \
| ^~~~~~
arch/riscv/include/asm/alternative-macros.h:123:9: note: in definition of macro '__ALTERNATIVE_CFG_2'
123 | old_c "\n" \
| ^~~~~
arch/riscv/include/asm/alternative-macros.h:200:9: note: in expansion of macro '_ALTERNATIVE_CFG_2'
200 | _ALTERNATIVE_CFG_2(old_content, new_content_1, vendor_id_1, \
| ^~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/errata_list.h:127:14: note: in expansion of macro 'ALTERNATIVE_2'
127 | asm volatile(ALTERNATIVE_2( \
| ^~~~~~~~~~~~~
arch/riscv/mm/dma-noncoherent.c:28:17: note: in expansion of macro 'ALT_CMO_OP'
28 | ALT_CMO_OP(clean, vaddr, size, riscv_cbom_block_size);
| ^~~~~~~~~~
>> arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops'
128 | __nops(6), \
| ^~~~~~
arch/riscv/include/asm/alternative-macros.h:123:9: note: in definition of macro '__ALTERNATIVE_CFG_2'
123 | old_c "\n" \
| ^~~~~
arch/riscv/include/asm/alternative-macros.h:200:9: note: in expansion of macro '_ALTERNATIVE_CFG_2'
200 | _ALTERNATIVE_CFG_2(old_content, new_content_1, vendor_id_1, \
| ^~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/errata_list.h:127:14: note: in expansion of macro 'ALTERNATIVE_2'
127 | asm volatile(ALTERNATIVE_2( \
| ^~~~~~~~~~~~~
arch/riscv/mm/dma-noncoherent.c:31:17: note: in expansion of macro 'ALT_CMO_OP'
31 | ALT_CMO_OP(flush, vaddr, size, riscv_cbom_block_size);
| ^~~~~~~~~~
arch/riscv/mm/dma-noncoherent.c:21:15: warning: unused variable 'vaddr' [-Wunused-variable]
21 | void *vaddr = phys_to_virt(paddr);
| ^~~~~
arch/riscv/mm/dma-noncoherent.c: In function 'arch_sync_dma_for_cpu':
>> arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops'
128 | __nops(6), \
| ^~~~~~
arch/riscv/include/asm/alternative-macros.h:123:9: note: in definition of macro '__ALTERNATIVE_CFG_2'
123 | old_c "\n" \
| ^~~~~
arch/riscv/include/asm/alternative-macros.h:200:9: note: in expansion of macro '_ALTERNATIVE_CFG_2'
200 | _ALTERNATIVE_CFG_2(old_content, new_content_1, vendor_id_1, \
| ^~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/errata_list.h:127:14: note: in expansion of macro 'ALTERNATIVE_2'
127 | asm volatile(ALTERNATIVE_2( \
| ^~~~~~~~~~~~~
arch/riscv/mm/dma-noncoherent.c:48:17: note: in expansion of macro 'ALT_CMO_OP'
48 | ALT_CMO_OP(flush, vaddr, size, riscv_cbom_block_size);
| ^~~~~~~~~~
arch/riscv/mm/dma-noncoherent.c:41:15: warning: unused variable 'vaddr' [-Wunused-variable]
41 | void *vaddr = phys_to_virt(paddr);
| ^~~~~
arch/riscv/mm/dma-noncoherent.c: In function 'arch_dma_prep_coherent':
>> arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops'
128 | __nops(6), \
| ^~~~~~
arch/riscv/include/asm/alternative-macros.h:123:9: note: in definition of macro '__ALTERNATIVE_CFG_2'
123 | old_c "\n" \
| ^~~~~
arch/riscv/include/asm/alternative-macros.h:200:9: note: in expansion of macro '_ALTERNATIVE_CFG_2'
200 | _ALTERNATIVE_CFG_2(old_content, new_content_1, vendor_id_1, \
| ^~~~~~~~~~~~~~~~~~
arch/riscv/include/asm/errata_list.h:127:14: note: in expansion of macro 'ALTERNATIVE_2'
127 | asm volatile(ALTERNATIVE_2( \
| ^~~~~~~~~~~~~
arch/riscv/mm/dma-noncoherent.c:59:9: note: in expansion of macro 'ALT_CMO_OP'
59 | ALT_CMO_OP(flush, flush_addr, size, riscv_cbom_block_size);
| ^~~~~~~~~~
arch/riscv/mm/dma-noncoherent.c:57:15: warning: unused variable 'flush_addr' [-Wunused-variable]
57 | void *flush_addr = page_address(page);
| ^~~~~~~~~~
--
kernel/dma/pool.c: In function 'atomic_pool_expand':
>> kernel/dma/pool.c:105:44: error: implicit declaration of function 'pgprot_dmacoherent' [-Werror=implicit-function-declaration]
105 | pgprot_dmacoherent(PAGE_KERNEL),
| ^~~~~~~~~~~~~~~~~~
>> kernel/dma/pool.c:105:44: error: incompatible type for argument 3 of 'dma_common_contiguous_remap'
105 | pgprot_dmacoherent(PAGE_KERNEL),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| int
In file included from kernel/dma/pool.c:8:
include/linux/dma-map-ops.h:235:76: note: expected 'pgprot_t' but argument is of type 'int'
235 | void *dma_common_contiguous_remap(struct page *page, size_t size, pgprot_t prot,
| ~~~~~~~~~^~~~
cc1: some warnings being treated as errors
vim +128 arch/riscv/include/asm/errata_list.h
125
126 #define ALT_CMO_OP(_op, _start, _size, _cachesize) \
127 asm volatile(ALTERNATIVE_2( \
> 128 __nops(6), \
129 "mv a0, %1\n\t" \
130 "j 2f\n\t" \
131 "3:\n\t" \
132 "cbo." __stringify(_op) " (a0)\n\t" \
133 "add a0, a0, %0\n\t" \
134 "2:\n\t" \
135 "bltu a0, %2, 3b\n\t" \
136 "nop", 0, CPUFEATURE_ZICBOM, CONFIG_RISCV_ISA_ZICBOM, \
137 "mv a0, %1\n\t" \
138 "j 2f\n\t" \
139 "3:\n\t" \
140 THEAD_##_op##_A0 "\n\t" \
141 "add a0, a0, %0\n\t" \
142 "2:\n\t" \
143 "bltu a0, %2, 3b\n\t" \
144 THEAD_SYNC_S, THEAD_VENDOR_ID, \
145 ERRATA_THEAD_CMO, CONFIG_ERRATA_THEAD_CMO) \
146 : : "r"(_cachesize), \
147 "r"((unsigned long)(_start) & ~((_cachesize) - 1UL)), \
148 "r"((unsigned long)(_start) + (_size)) \
149 : "a0")
150
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [ammarfaizi2-block:palmer/linux/riscv-zicbom 6/6] arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops'
2022-08-04 20:47 [ammarfaizi2-block:palmer/linux/riscv-zicbom 6/6] arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops' kernel test robot
@ 2022-08-08 8:16 ` Heiko Stübner
0 siblings, 0 replies; 2+ messages in thread
From: Heiko Stübner @ 2022-08-08 8:16 UTC (permalink / raw)
To: kernel test robot
Cc: kbuild-all, Ammar Faizi, GNU/Weeb Mailing List, linux-kernel,
Palmer Dabbelt, Samuel Holland, Guo Ren
Hi,
Am Donnerstag, 4. August 2022, 22:47:29 CEST schrieb kernel test robot:
> tree: https://github.com/ammarfaizi2/linux-block palmer/linux/riscv-zicbom
> head: d20ec7529236a2fcdb2d856fc0bd80b409a217fc
> commit: d20ec7529236a2fcdb2d856fc0bd80b409a217fc [6/6] riscv: implement cache-management errata for T-Head SoCs
> config: riscv-randconfig-r035-20220804 (https://download.01.org/0day-ci/archive/20220805/[email protected]/config)
> compiler: riscv64-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/ammarfaizi2/linux-block/commit/d20ec7529236a2fcdb2d856fc0bd80b409a217fc
> git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
> git fetch --no-tags ammarfaizi2-block palmer/linux/riscv-zicbom
> git checkout d20ec7529236a2fcdb2d856fc0bd80b409a217fc
> # 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 arch/riscv/mm/ kernel/dma/
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <[email protected]>
>
> All errors (new ones prefixed by >>):
>
> In file included from arch/riscv/include/asm/alternative.h:11,
> from arch/riscv/include/asm/errata_list.h:8,
> from arch/riscv/include/asm/tlbflush.h:12,
> from arch/riscv/include/asm/pgtable.h:108,
> from arch/riscv/include/asm/uaccess.h:12,
> from include/linux/uaccess.h:11,
> from include/linux/sched/task.h:11,
> from include/linux/sched/signal.h:9,
> from include/linux/rcuwait.h:6,
> from include/linux/percpu-rwsem.h:7,
> from include/linux/fs.h:33,
> from include/linux/compat.h:17,
> from arch/riscv/include/asm/elf.h:12,
> from include/linux/elf.h:6,
> from include/linux/module.h:19,
> from include/linux/device/driver.h:21,
> from include/linux/device.h:32,
> from include/linux/dma-mapping.h:7,
> from include/linux/dma-direct.h:9,
> from arch/riscv/mm/dma-noncoherent.c:8:
> arch/riscv/mm/dma-noncoherent.c: In function 'arch_sync_dma_for_device':
> >> arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops'
> 128 | __nops(6), \
As the error suggests, the zicbom assembly uses the newly introduced nops
macros for better readability, so I guess in Palmer's tree they should sit
on top of the riscv-nops branch.
Heiko
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-08-08 8:16 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-08-04 20:47 [ammarfaizi2-block:palmer/linux/riscv-zicbom 6/6] arch/riscv/include/asm/errata_list.h:128:9: error: expected ':' or ')' before '__nops' kernel test robot
2022-08-08 8:16 ` Heiko Stübner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox