* arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
@ 2022-05-19 17:23 kernel test robot
2022-05-19 17:45 ` Paul Cercueil
0 siblings, 1 reply; 6+ messages in thread
From: kernel test robot @ 2022-05-19 17:23 UTC (permalink / raw)
To: Paul Cercueil; +Cc: llvm, kbuild-all, linux-kernel, Thomas Bogendoerfer
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f993aed406eaf968ba3867a76bb46c95336a33d0
commit: c434b9f80b0923e6460031b0fd964f8b0bf3c6a6 MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol
date: 1 year, 8 months ago
config: mips-randconfig-r036-20220519 (https://download.01.org/0day-ci/archive/20220520/202205200128.layu7VXF-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project e00cbbec06c08dc616a0d52a20f678b8fbd4e304)
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 mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
# 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=mips SHELL=/bin/bash arch/mips/cavium-octeon/ drivers/dma-buf/heaps/ net/ipv6/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All error/warnings (new ones prefixed by >>):
In file included from arch/mips/cavium-octeon/octeon-platform.c:10:
In file included from include/linux/etherdevice.h:20:
In file included from include/linux/if_ether.h:19:
In file included from include/linux/skbuff.h:28:
In file included from include/net/checksum.h:22:
>> arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
: "0" ((__force unsigned long)daddr),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from arch/mips/cavium-octeon/octeon-platform.c:15:
In file included from arch/mips/include/asm/octeon/octeon.h:11:
In file included from arch/mips/include/asm/octeon/cvmx.h:72:
arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NULL)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_SIM)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT3000)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KODAMA)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIAGARA)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NAC38)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_THUNDER)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_TRANTOR)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3000)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:332:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3100)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
--
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
^
arch/mips/cavium-octeon/smp.c:99:6: warning: no previous prototype for function 'octeon_send_ipi_single' [-Wmissing-prototypes]
void octeon_send_ipi_single(int cpu, unsigned int action)
^
arch/mips/cavium-octeon/smp.c:99:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void octeon_send_ipi_single(int cpu, unsigned int action)
^
static
>> arch/mips/cavium-octeon/smp.c:194:5: warning: no previous prototype for function 'plat_post_relocation' [-Wmissing-prototypes]
int plat_post_relocation(long offset)
^
arch/mips/cavium-octeon/smp.c:194:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int plat_post_relocation(long offset)
^
static
81 warnings generated.
Assembler messages:
Warning: a different -march was already specified, is now octeon
--
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:394:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded from macro 'ENUM_BRD_TYPE_CASE'
case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
^
arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: adding 'int' to a string does not append to the string [-Wstring-plus-int]
ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
~~~^~~~
arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use array indexing to silence this warning
arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded from macro 'ENUM_CHIP_TYPE_CASE'
case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
^
In file included from arch/mips/cavium-octeon/crypto/octeon-sha1.c:23:
In file included from include/crypto/internal/hash.h:11:
In file included from include/crypto/algapi.h:13:
In file included from include/linux/skbuff.h:28:
In file included from include/net/checksum.h:22:
>> arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
: "0" ((__force unsigned long)daddr),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
79 warnings and 1 error generated.
..
vim +195 arch/mips/include/asm/checksum.h
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 162
01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck 2016-03-11 163 static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck 2016-03-11 164 __u32 len, __u8 proto,
8e3d8433d8c22c include/asm-mips/checksum.h Al Viro 2006-11-14 165 __wsum sum)
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 166 {
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 167 __asm__(
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 168 " .set push # csum_tcpudp_nofold\n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 169 " .set noat \n"
875d43e72b5bf2 include/asm-mips/checksum.h Ralf Baechle 2005-09-03 170 #ifdef CONFIG_32BIT
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 171 " addu %0, %2 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 172 " sltu $1, %0, %2 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 173 " addu %0, $1 \n"
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 174
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 175 " addu %0, %3 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 176 " sltu $1, %0, %3 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 177 " addu %0, $1 \n"
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 178
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 179 " addu %0, %4 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 180 " sltu $1, %0, %4 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 181 " addu %0, $1 \n"
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 182 #endif
875d43e72b5bf2 include/asm-mips/checksum.h Ralf Baechle 2005-09-03 183 #ifdef CONFIG_64BIT
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 184 " daddu %0, %2 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 185 " daddu %0, %3 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 186 " daddu %0, %4 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 187 " dsll32 $1, %0, 0 \n"
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 188 " daddu %0, $1 \n"
66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle 2017-01-26 189 " sltu $1, %0, $1 \n"
e97288386a316e include/asm-mips/checksum.h Ralf Baechle 2005-09-20 190 " dsra32 %0, %0, 0 \n"
66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle 2017-01-26 191 " addu %0, $1 \n"
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 192 #endif
04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer 2005-07-08 193 " .set pop"
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 194 : "=r" (sum)
66218da212bf14 include/asm-mips/checksum.h Atsushi Nemoto 2007-01-24 @195 : "0" ((__force unsigned long)daddr),
66218da212bf14 include/asm-mips/checksum.h Atsushi Nemoto 2007-01-24 196 "r" ((__force unsigned long)saddr),
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 197 #ifdef __MIPSEL__
8e3d8433d8c22c include/asm-mips/checksum.h Al Viro 2006-11-14 198 "r" ((proto + len) << 8),
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 199 #else
8e3d8433d8c22c include/asm-mips/checksum.h Al Viro 2006-11-14 200 "r" (proto + len),
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 201 #endif
1d464c26b56252 include/asm-mips/checksum.h Dave Johnson 2007-04-18 202 "r" ((__force unsigned long)sum));
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 203
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 204 return sum;
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 205 }
b4b5015a1c1450 arch/mips/include/asm/checksum.h Ralf Baechle 2014-12-17 206 #define csum_tcpudp_nofold csum_tcpudp_nofold
^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds 2005-04-16 207
:::::: The code at line 195 was first introduced by commit
:::::: 66218da212bf141532d678a699f5789c78145ab1 [MIPS] Fix wrong checksum calculation on 64-bit MIPS
:::::: TO: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
:::::: CC: Ralf Baechle <ralf@linux-mips.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
2022-05-19 17:23 arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int') kernel test robot
@ 2022-05-19 17:45 ` Paul Cercueil
2022-05-20 8:38 ` [kbuild-all] " Chen, Rong A
2022-05-20 11:08 ` Maciej W. Rozycki
0 siblings, 2 replies; 6+ messages in thread
From: Paul Cercueil @ 2022-05-19 17:45 UTC (permalink / raw)
To: kernel test robot
Cc: llvm, kbuild-all, linux-kernel, Thomas Bogendoerfer, linux-mips
Hi Bot,
Le ven., mai 20 2022 at 01:23:43 +0800, kernel test robot
<lkp@intel.com> a écrit :
> tree:
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> master
> head: f993aed406eaf968ba3867a76bb46c95336a33d0
> commit: c434b9f80b0923e6460031b0fd964f8b0bf3c6a6 MIPS: Kconfig: add
> MIPS_GENERIC_KERNEL symbol
I have no idea how that error could be even remotely related to the
commit above.
About the real issue: Maybe the last "addu" in csum_tcpudp_nofold()
should be a "daddu"?
Cheers,
-Paul
> date: 1 year, 8 months ago
> config: mips-randconfig-r036-20220519
> (https://download.01.org/0day-ci/archive/20220520/202205200128.layu7VXF-lkp@intel.com/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project
> e00cbbec06c08dc616a0d52a20f678b8fbd4e304)
> 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 mips cross compiling tool for clang build
> # apt-get install binutils-mips-linux-gnu
> #
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
> git remote add linus
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
> # 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=mips SHELL=/bin/bash arch/mips/cavium-octeon/
> drivers/dma-buf/heaps/ net/ipv6/
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@intel.com>
>
> All error/warnings (new ones prefixed by >>):
>
> In file included from arch/mips/cavium-octeon/octeon-platform.c:10:
> In file included from include/linux/etherdevice.h:20:
> In file included from include/linux/if_ether.h:19:
> In file included from include/linux/skbuff.h:28:
> In file included from include/net/checksum.h:22:
>>> arch/mips/include/asm/checksum.h:195:9: error: unsupported inline
>>> asm: input with type 'unsigned long' matching output with type
>>> '__wsum' (aka 'unsigned int')
> : "0" ((__force unsigned long)daddr),
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from arch/mips/cavium-octeon/octeon-platform.c:15:
> In file included from arch/mips/include/asm/octeon/octeon.h:11:
> In file included from arch/mips/include/asm/octeon/cvmx.h:72:
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NULL)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_SIM)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT3000)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KODAMA)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIAGARA)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NAC38)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_THUNDER)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_TRANTOR)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3000)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:332:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3100)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> --
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
>
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
>
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ^
> arch/mips/cavium-octeon/smp.c:99:6: warning: no previous prototype
> for function 'octeon_send_ipi_single' [-Wmissing-prototypes]
> void octeon_send_ipi_single(int cpu, unsigned int action)
> ^
> arch/mips/cavium-octeon/smp.c:99:1: note: declare 'static' if the
> function is not intended to be used outside of this translation unit
> void octeon_send_ipi_single(int cpu, unsigned int action)
> ^
> static
>>> arch/mips/cavium-octeon/smp.c:194:5: warning: no previous
>>> prototype for function 'plat_post_relocation' [-Wmissing-prototypes]
> int plat_post_relocation(long offset)
> ^
> arch/mips/cavium-octeon/smp.c:194:1: note: declare 'static' if the
> function is not intended to be used outside of this translation unit
> int plat_post_relocation(long offset)
> ^
> static
> 81 warnings generated.
> Assembler messages:
> Warning: a different -march was already specified, is now octeon
> --
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:394:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
>
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
>
> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
>
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note:
> expanded from macro 'ENUM_BRD_TYPE_CASE'
> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ^
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning:
> adding 'int' to a string does not append to the string
> [-Wstring-plus-int]
> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ~~~^~~~
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use
> array indexing to silence this warning
> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note:
> expanded from macro 'ENUM_CHIP_TYPE_CASE'
> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
> ^
> In file included from
> arch/mips/cavium-octeon/crypto/octeon-sha1.c:23:
> In file included from include/crypto/internal/hash.h:11:
> In file included from include/crypto/algapi.h:13:
> In file included from include/linux/skbuff.h:28:
> In file included from include/net/checksum.h:22:
>>> arch/mips/include/asm/checksum.h:195:9: error: unsupported inline
>>> asm: input with type 'unsigned long' matching output with type
>>> '__wsum' (aka 'unsigned int')
> : "0" ((__force unsigned long)daddr),
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> 79 warnings and 1 error generated.
> ..
>
>
> vim +195 arch/mips/include/asm/checksum.h
>
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 162
> 01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck
> 2016-03-11 163 static inline __wsum csum_tcpudp_nofold(__be32
> saddr, __be32 daddr,
> 01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck
> 2016-03-11 164 __u32 len, __u8 proto,
> 8e3d8433d8c22c include/asm-mips/checksum.h Al Viro
> 2006-11-14 165 __wsum sum)
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 166 {
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 167 __asm__(
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 168 " .set push # csum_tcpudp_nofold\n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 169 " .set noat \n"
> 875d43e72b5bf2 include/asm-mips/checksum.h Ralf Baechle
> 2005-09-03 170 #ifdef CONFIG_32BIT
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 171 " addu %0, %2 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 172 " sltu $1, %0, %2 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 173 " addu %0, $1 \n"
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 174
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 175 " addu %0, %3 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 176 " sltu $1, %0, %3 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 177 " addu %0, $1 \n"
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 178
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 179 " addu %0, %4 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 180 " sltu $1, %0, %4 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 181 " addu %0, $1 \n"
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 182 #endif
> 875d43e72b5bf2 include/asm-mips/checksum.h Ralf Baechle
> 2005-09-03 183 #ifdef CONFIG_64BIT
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 184 " daddu %0, %2 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 185 " daddu %0, %3 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 186 " daddu %0, %4 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 187 " dsll32 $1, %0, 0 \n"
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 188 " daddu %0, $1 \n"
> 66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle
> 2017-01-26 189 " sltu $1, %0, $1 \n"
> e97288386a316e include/asm-mips/checksum.h Ralf Baechle
> 2005-09-20 190 " dsra32 %0, %0, 0 \n"
> 66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle
> 2017-01-26 191 " addu %0, $1 \n"
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 192 #endif
> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
> 2005-07-08 193 " .set pop"
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 194 : "=r" (sum)
> 66218da212bf14 include/asm-mips/checksum.h Atsushi Nemoto
> 2007-01-24 @195 : "0" ((__force unsigned long)daddr),
> 66218da212bf14 include/asm-mips/checksum.h Atsushi Nemoto
> 2007-01-24 196 "r" ((__force unsigned long)saddr),
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 197 #ifdef __MIPSEL__
> 8e3d8433d8c22c include/asm-mips/checksum.h Al Viro
> 2006-11-14 198 "r" ((proto + len) << 8),
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 199 #else
> 8e3d8433d8c22c include/asm-mips/checksum.h Al Viro
> 2006-11-14 200 "r" (proto + len),
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 201 #endif
> 1d464c26b56252 include/asm-mips/checksum.h Dave Johnson
> 2007-04-18 202 "r" ((__force unsigned long)sum));
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 203
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 204 return sum;
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 205 }
> b4b5015a1c1450 arch/mips/include/asm/checksum.h Ralf Baechle
> 2014-12-17 206 #define csum_tcpudp_nofold csum_tcpudp_nofold
> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
> 2005-04-16 207
>
> :::::: The code at line 195 was first introduced by commit
> :::::: 66218da212bf141532d678a699f5789c78145ab1 [MIPS] Fix wrong
> checksum calculation on 64-bit MIPS
>
> :::::: TO: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
> :::::: CC: Ralf Baechle <ralf@linux-mips.org>
>
> --
> 0-DAY CI Kernel Test Service
> https://01.org/lkp
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [kbuild-all] Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
2022-05-19 17:45 ` Paul Cercueil
@ 2022-05-20 8:38 ` Chen, Rong A
2022-05-20 11:08 ` Maciej W. Rozycki
1 sibling, 0 replies; 6+ messages in thread
From: Chen, Rong A @ 2022-05-20 8:38 UTC (permalink / raw)
To: Paul Cercueil, kernel test robot
Cc: llvm, kbuild-all, linux-kernel, Thomas Bogendoerfer, linux-mips
On 5/20/2022 1:45 AM, Paul Cercueil wrote:
> Hi Bot,
>
> Le ven., mai 20 2022 at 01:23:43 +0800, kernel test robot
> <lkp@intel.com> a écrit :
>> tree:
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
>> head: f993aed406eaf968ba3867a76bb46c95336a33d0
>> commit: c434b9f80b0923e6460031b0fd964f8b0bf3c6a6 MIPS: Kconfig: add
>> MIPS_GENERIC_KERNEL symbol
>
> I have no idea how that error could be even remotely related to the
> commit above.
Hi Paul,
Sorry for the inconvience, the error is not introduced by the commit,
it's only bisected to it after kconfig changed.
Best Regards,
Rong Chen
>
> About the real issue: Maybe the last "addu" in csum_tcpudp_nofold()
> should be a "daddu"?
>
> Cheers,
> -Paul
>
>> date: 1 year, 8 months ago
>> config: mips-randconfig-r036-20220519
>> (https://download.01.org/0day-ci/archive/20220520/202205200128.layu7VXF-lkp@intel.com/config)
>>
>> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project
>> e00cbbec06c08dc616a0d52a20f678b8fbd4e304)
>> 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 mips cross compiling tool for clang build
>> # apt-get install binutils-mips-linux-gnu
>> #
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
>>
>> git remote add linus
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
>> git fetch --no-tags linus master
>> git checkout c434b9f80b0923e6460031b0fd964f8b0bf3c6a6
>> # 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=mips SHELL=/bin/bash arch/mips/cavium-octeon/
>> drivers/dma-buf/heaps/ net/ipv6/
>>
>> If you fix the issue, kindly add following tag as appropriate
>> Reported-by: kernel test robot <lkp@intel.com>
>>
>> All error/warnings (new ones prefixed by >>):
>>
>> In file included from arch/mips/cavium-octeon/octeon-platform.c:10:
>> In file included from include/linux/etherdevice.h:20:
>> In file included from include/linux/if_ether.h:19:
>> In file included from include/linux/skbuff.h:28:
>> In file included from include/net/checksum.h:22:
>>>> arch/mips/include/asm/checksum.h:195:9: error: unsupported inline
>>>> asm: input with type 'unsigned long' matching output with type
>>>> '__wsum' (aka 'unsigned int')
>> : "0" ((__force unsigned long)daddr),
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> In file included from arch/mips/cavium-octeon/octeon-platform.c:15:
>> In file included from arch/mips/include/asm/octeon/octeon.h:11:
>> In file included from arch/mips/include/asm/octeon/cvmx.h:72:
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NULL)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:323:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_SIM)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:324:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBT3000)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:325:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KODAMA)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:326:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NIAGARA)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:327:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_NAC38)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:328:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_THUNDER)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:329:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_TRANTOR)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:330:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3000)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:331:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:332:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_EBH3100)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> --
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ^
>> arch/mips/cavium-octeon/smp.c:99:6: warning: no previous prototype
>> for function 'octeon_send_ipi_single' [-Wmissing-prototypes]
>> void octeon_send_ipi_single(int cpu, unsigned int action)
>> ^
>> arch/mips/cavium-octeon/smp.c:99:1: note: declare 'static' if the
>> function is not intended to be used outside of this translation unit
>> void octeon_send_ipi_single(int cpu, unsigned int action)
>> ^
>> static
>>>> arch/mips/cavium-octeon/smp.c:194:5: warning: no previous prototype
>>>> for function 'plat_post_relocation' [-Wmissing-prototypes]
>> int plat_post_relocation(long offset)
>> ^
>> arch/mips/cavium-octeon/smp.c:194:1: note: declare 'static' if the
>> function is not intended to be used outside of this translation unit
>> int plat_post_relocation(long offset)
>> ^
>> static
>> 81 warnings generated.
>> Assembler messages:
>> Warning: a different -march was already specified, is now octeon
>> --
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:394:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MIN)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:397:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_UBNT_E100)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:398:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_DSR1000N)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:399:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_KONTRON_S1901)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:400:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_BRD_TYPE_CASE(CVMX_BOARD_TYPE_CUST_PRIVATE_MAX)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:401:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:318:20: note: expanded
>> from macro 'ENUM_BRD_TYPE_CASE'
>> case x: return(#x + 16); /* Skip CVMX_BOARD_TYPE_ */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_NULL)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:412:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_SIM_TYPE_DEPRECATED)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:413:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_OCTEON_SAMPLE)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:414:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ^
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: warning: adding
>> 'int' to a string does not append to the string [-Wstring-plus-int]
>> ENUM_CHIP_TYPE_CASE(CVMX_CHIP_TYPE_MAX)
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ~~~^~~~
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:415:3: note: use array
>> indexing to silence this warning
>> arch/mips/include/asm/octeon/cvmx-bootinfo.h:407:20: note: expanded
>> from macro 'ENUM_CHIP_TYPE_CASE'
>> case x: return(#x + 15); /* Skip CVMX_CHIP_TYPE */
>> ^
>> In file included from arch/mips/cavium-octeon/crypto/octeon-sha1.c:23:
>> In file included from include/crypto/internal/hash.h:11:
>> In file included from include/crypto/algapi.h:13:
>> In file included from include/linux/skbuff.h:28:
>> In file included from include/net/checksum.h:22:
>>>> arch/mips/include/asm/checksum.h:195:9: error: unsupported inline
>>>> asm: input with type 'unsigned long' matching output with type
>>>> '__wsum' (aka 'unsigned int')
>> : "0" ((__force unsigned long)daddr),
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> 79 warnings and 1 error generated.
>> ..
>>
>>
>> vim +195 arch/mips/include/asm/checksum.h
>>
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 162
>> 01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck
>> 2016-03-11 163 static inline __wsum csum_tcpudp_nofold(__be32 saddr,
>> __be32 daddr,
>> 01cfbad79a5e2b arch/mips/include/asm/checksum.h Alexander Duyck
>> 2016-03-11 164 __u32 len, __u8 proto,
>> 8e3d8433d8c22c include/asm-mips/checksum.h Al Viro 2006-11-14
>> 165 __wsum sum)
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 166 {
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 167 __asm__(
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 168 " .set push # csum_tcpudp_nofold\n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 169 " .set noat \n"
>> 875d43e72b5bf2 include/asm-mips/checksum.h Ralf Baechle
>> 2005-09-03 170 #ifdef CONFIG_32BIT
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 171 " addu %0, %2 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 172 " sltu $1, %0, %2 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 173 " addu %0, $1 \n"
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 174
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 175 " addu %0, %3 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 176 " sltu $1, %0, %3 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 177 " addu %0, $1 \n"
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 178
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 179 " addu %0, %4 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 180 " sltu $1, %0, %4 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 181 " addu %0, $1 \n"
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 182 #endif
>> 875d43e72b5bf2 include/asm-mips/checksum.h Ralf Baechle
>> 2005-09-03 183 #ifdef CONFIG_64BIT
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 184 " daddu %0, %2 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 185 " daddu %0, %3 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 186 " daddu %0, %4 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 187 " dsll32 $1, %0, 0 \n"
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 188 " daddu %0, $1 \n"
>> 66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle
>> 2017-01-26 189 " sltu $1, %0, $1 \n"
>> e97288386a316e include/asm-mips/checksum.h Ralf Baechle
>> 2005-09-20 190 " dsra32 %0, %0, 0 \n"
>> 66fd848cadaa6b arch/mips/include/asm/checksum.h Ralf Baechle
>> 2017-01-26 191 " addu %0, $1 \n"
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 192 #endif
>> 04988d6fda5c1c include/asm-mips/checksum.h Thiemo Seufer
>> 2005-07-08 193 " .set pop"
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 194 : "=r" (sum)
>> 66218da212bf14 include/asm-mips/checksum.h Atsushi Nemoto
>> 2007-01-24 @195 : "0" ((__force unsigned long)daddr),
>> 66218da212bf14 include/asm-mips/checksum.h Atsushi Nemoto
>> 2007-01-24 196 "r" ((__force unsigned long)saddr),
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 197 #ifdef __MIPSEL__
>> 8e3d8433d8c22c include/asm-mips/checksum.h Al Viro 2006-11-14
>> 198 "r" ((proto + len) << 8),
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 199 #else
>> 8e3d8433d8c22c include/asm-mips/checksum.h Al Viro 2006-11-14
>> 200 "r" (proto + len),
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 201 #endif
>> 1d464c26b56252 include/asm-mips/checksum.h Dave Johnson
>> 2007-04-18 202 "r" ((__force unsigned long)sum));
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 203
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 204 return sum;
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 205 }
>> b4b5015a1c1450 arch/mips/include/asm/checksum.h Ralf Baechle
>> 2014-12-17 206 #define csum_tcpudp_nofold csum_tcpudp_nofold
>> ^1da177e4c3f41 include/asm-mips/checksum.h Linus Torvalds
>> 2005-04-16 207
>>
>> :::::: The code at line 195 was first introduced by commit
>> :::::: 66218da212bf141532d678a699f5789c78145ab1 [MIPS] Fix wrong
>> checksum calculation on 64-bit MIPS
>>
>> :::::: TO: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
>> :::::: CC: Ralf Baechle <ralf@linux-mips.org>
>>
>> --
>> 0-DAY CI Kernel Test Service
>> https://01.org/lkp
>
> _______________________________________________
> kbuild-all mailing list -- kbuild-all@lists.01.org
> To unsubscribe send an email to kbuild-all-leave@lists.01.org
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
2022-05-19 17:45 ` Paul Cercueil
2022-05-20 8:38 ` [kbuild-all] " Chen, Rong A
@ 2022-05-20 11:08 ` Maciej W. Rozycki
2022-05-20 15:52 ` Nathan Chancellor
1 sibling, 1 reply; 6+ messages in thread
From: Maciej W. Rozycki @ 2022-05-20 11:08 UTC (permalink / raw)
To: Paul Cercueil
Cc: kernel test robot, llvm, kbuild-all, linux-kernel,
Thomas Bogendoerfer, linux-mips
On Thu, 19 May 2022, Paul Cercueil wrote:
> About the real issue: Maybe the last "addu" in csum_tcpudp_nofold() should be
> a "daddu"?
It doesn't matter whether there is ADDU or DADDU anymore, given that
commit 198688edbf77 ("MIPS: Fix inline asm input/output type mismatch in
checksum.h used with Clang") has added a redundant 32-bit sign-extension
operation right afterwards, regressing size/performance by an extra
instruction in this performance-critical code as a workaround for a stupid
compiler.
I'm not sure though why the bot has been verifying old commit
c434b9f80b09 ("MIPS: Kconfig: add MIPS_GENERIC_KERNEL symbol") instead,
which predates the workaround. Perhaps current master also fails to build
in this file for one reason or another and bisection has misled the bot
into an unrelated commit?
Maciej
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
2022-05-20 11:08 ` Maciej W. Rozycki
@ 2022-05-20 15:52 ` Nathan Chancellor
2022-05-22 20:48 ` Maciej W. Rozycki
0 siblings, 1 reply; 6+ messages in thread
From: Nathan Chancellor @ 2022-05-20 15:52 UTC (permalink / raw)
To: Maciej W. Rozycki
Cc: Paul Cercueil, kernel test robot, llvm, kbuild-all, linux-kernel,
Thomas Bogendoerfer, linux-mips
On Fri, May 20, 2022 at 12:08:02PM +0100, Maciej W. Rozycki wrote:
> On Thu, 19 May 2022, Paul Cercueil wrote:
>
> > About the real issue: Maybe the last "addu" in csum_tcpudp_nofold() should be
> > a "daddu"?
>
> It doesn't matter whether there is ADDU or DADDU anymore, given that
> commit 198688edbf77 ("MIPS: Fix inline asm input/output type mismatch in
> checksum.h used with Clang") has added a redundant 32-bit sign-extension
> operation right afterwards, regressing size/performance by an extra
> instruction in this performance-critical code as a workaround for a stupid
> compiler.
Shouldn't this concern have been addressed by Tiezhu's follow up?
https://lore.kernel.org/1617359240-16609-1-git-send-email-yangtiezhu@loongson.cn/
I guess it never got picked up?
Cheers,
Nathan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int')
2022-05-20 15:52 ` Nathan Chancellor
@ 2022-05-22 20:48 ` Maciej W. Rozycki
0 siblings, 0 replies; 6+ messages in thread
From: Maciej W. Rozycki @ 2022-05-22 20:48 UTC (permalink / raw)
To: Nathan Chancellor
Cc: Paul Cercueil, kernel test robot, llvm, kbuild-all, linux-kernel,
Thomas Bogendoerfer, linux-mips
On Fri, 20 May 2022, Nathan Chancellor wrote:
> > It doesn't matter whether there is ADDU or DADDU anymore, given that
> > commit 198688edbf77 ("MIPS: Fix inline asm input/output type mismatch in
> > checksum.h used with Clang") has added a redundant 32-bit sign-extension
> > operation right afterwards, regressing size/performance by an extra
> > instruction in this performance-critical code as a workaround for a stupid
> > compiler.
>
> Shouldn't this concern have been addressed by Tiezhu's follow up?
>
> https://lore.kernel.org/1617359240-16609-1-git-send-email-yangtiezhu@loongson.cn/
>
> I guess it never got picked up?
Still it is a hack. I have now rewritten this code in plain C instead.
Maciej
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-05-22 20:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-19 17:23 arch/mips/include/asm/checksum.h:195:9: error: unsupported inline asm: input with type 'unsigned long' matching output with type '__wsum' (aka 'unsigned int') kernel test robot
2022-05-19 17:45 ` Paul Cercueil
2022-05-20 8:38 ` [kbuild-all] " Chen, Rong A
2022-05-20 11:08 ` Maciej W. Rozycki
2022-05-20 15:52 ` Nathan Chancellor
2022-05-22 20:48 ` Maciej W. Rozycki
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).