* [esmil:visionfive 22/55] drivers/soc/sifive/sifive_l2_cache.c:142:19: warning: result of comparison of constant 36507222016 with expression of type 'unsigned long' is always false
@ 2022-05-06 5:23 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-05-06 5:23 UTC (permalink / raw)
To: Tom; +Cc: llvm, kbuild-all, linux-kernel, Emil Renner Berthing
tree: https://github.com/esmil/linux visionfive
head: f568ecc24aebec8ce1c59b86f2a85098675a4091
commit: 7fa12d2f832a42a37ff0d8f4dd7569cee4b0b82f [22/55] sifive/sifive_l2_cache: Add sifive_l2_flush64_range function
config: riscv-randconfig-r031-20220505 (https://download.01.org/0day-ci/archive/20220506/202205061342.dVMH03HG-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 5e004fb787698440a387750db7f8028e7cb14cfc)
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 riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/esmil/linux/commit/7fa12d2f832a42a37ff0d8f4dd7569cee4b0b82f
git remote add esmil https://github.com/esmil/linux
git fetch --no-tags esmil visionfive
git checkout 7fa12d2f832a42a37ff0d8f4dd7569cee4b0b82f
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=riscv SHELL=/bin/bash drivers/soc/sifive/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/soc/sifive/sifive_l2_cache.c:152:3: error: call to undeclared function 'writeq'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
writeq(line, l2_base + SIFIVE_L2_FLUSH64);
^
>> drivers/soc/sifive/sifive_l2_cache.c:142:19: warning: result of comparison of constant 36507222016 with expression of type 'unsigned long' is always false [-Wtautological-constant-out-of-range-compare]
(start + len) > (CONFIG_SIFIVE_L2_FLUSH_START +
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
~~~~~~~~~~~~~~~~~^~~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
>> drivers/soc/sifive/sifive_l2_cache.c:142:19: warning: result of comparison of constant 36507222016 with expression of type 'unsigned long' is always false [-Wtautological-constant-out-of-range-compare]
(start + len) > (CONFIG_SIFIVE_L2_FLUSH_START +
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
>> drivers/soc/sifive/sifive_l2_cache.c:142:19: warning: result of comparison of constant 36507222016 with expression of type 'unsigned long' is always false [-Wtautological-constant-out-of-range-compare]
(start + len) > (CONFIG_SIFIVE_L2_FLUSH_START +
~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
3 warnings and 1 error generated.
vim +142 drivers/soc/sifive/sifive_l2_cache.c
123
124 #ifdef CONFIG_SIFIVE_L2_FLUSH
125 void sifive_l2_flush64_range(unsigned long start, unsigned long len)
126 {
127 unsigned long line;
128
129 if(!l2_base) {
130 pr_warn("L2CACHE: base addr invalid, skipping flush\n");
131 return;
132 }
133
134 /* TODO: if (len == 0), skipping flush or going on? */
135 if(!len) {
136 pr_debug("L2CACHE: flush64 range @ 0x%lx(len:0)\n", start);
137 return;
138 }
139
140 /* make sure the address is in the range */
141 if(start < CONFIG_SIFIVE_L2_FLUSH_START ||
> 142 (start + len) > (CONFIG_SIFIVE_L2_FLUSH_START +
143 CONFIG_SIFIVE_L2_FLUSH_SIZE)) {
144 pr_warn("L2CACHE: flush64 out of range: %lx(%lx), skip flush\n",
145 start, len);
146 return;
147 }
148
149 mb(); /* sync */
150 for (line = start; line < start + len;
151 line += SIFIVE_L2_FLUSH64_LINE_LEN) {
152 writeq(line, l2_base + SIFIVE_L2_FLUSH64);
153 mb();
154 }
155 }
156 EXPORT_SYMBOL_GPL(sifive_l2_flush64_range);
157 #endif
158
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-05-06 5:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-06 5:23 [esmil:visionfive 22/55] drivers/soc/sifive/sifive_l2_cache.c:142:19: warning: result of comparison of constant 36507222016 with expression of type 'unsigned long' is always false kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.