[PATCH v1 06/38] arm64/sve: Put system wide vector length information into structs

kernel test robot lkp at intel.com
Thu Sep 30 20:13:15 PDT 2021


Hi Mark,

I love your patch! Yet something to improve:

[auto build test ERROR on 8694e5e6388695195a32bd5746635ca166a8df56]

url:    https://github.com/0day-ci/linux/commits/Mark-Brown/arm64-sme-Initial-support-for-the-Scalable-Matrix-Extension/20211001-021749
base:   8694e5e6388695195a32bd5746635ca166a8df56
config: arm64-randconfig-r024-20210930 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 962e503cc8bc411f7523cc393acae8aae425b1c4)
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 arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/7e299f3a56180fd063d19d4fc4de16262d789820
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Mark-Brown/arm64-sme-Initial-support-for-the-Scalable-Matrix-Extension/20211001-021749
        git checkout 7e299f3a56180fd063d19d4fc4de16262d789820
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/kernel/ kernel/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>

All errors (new ones prefixed by >>):

>> arch/arm64/kernel/fpsimd.c:124:39: error: array has incomplete element type 'struct vl_info'
   __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = {
                                         ^
   arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info'
   __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = {
                          ^
>> arch/arm64/kernel/fpsimd.c:376:19: error: incomplete definition of type 'struct vl_info'
           int max_vl = info->max_vl;
                        ~~~~^
   arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info'
   __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = {
                          ^
   arch/arm64/kernel/fpsimd.c:379:12: error: incomplete definition of type 'struct vl_info'
                   vl = info->min_vl;
                        ~~~~^
   arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info'
   __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = {
                          ^
   arch/arm64/kernel/fpsimd.c:382:16: error: incomplete definition of type 'struct vl_info'
                   max_vl = info->min_vl;
                            ~~~~^
   arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info'
   __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = {
                          ^
   arch/arm64/kernel/fpsimd.c:387:26: error: incomplete definition of type 'struct vl_info'
           bit = find_next_bit(info->vq_map, SVE_VQ_MAX,
                               ~~~~^
   arch/arm64/kernel/fpsimd.c:124:24: note: forward declaration of 'struct vl_info'
   __ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = {
                          ^
   5 errors generated.
--
>> arch/arm64/kernel/signal.c:597:13: error: implicit declaration of function 'sve_max_vl' [-Werror,-Wimplicit-function-declaration]
                           int vl = sve_max_vl();
                                    ^
   arch/arm64/kernel/signal.c:597:13: note: did you mean 'sve_get_vl'?
   arch/arm64/include/asm/fpsimd.h:72:21: note: 'sve_get_vl' declared here
   extern unsigned int sve_get_vl(void);
                       ^
   arch/arm64/kernel/signal.c:920:6: warning: no previous prototype for function 'do_notify_resume' [-Wmissing-prototypes]
   void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags)
        ^
   arch/arm64/kernel/signal.c:920:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   void do_notify_resume(struct pt_regs *regs, unsigned long thread_flags)
   ^
   static 
   1 warning and 1 error generated.
--
>> arch/arm64/kernel/cpufeature.c:944:3: error: implicit declaration of function 'vec_init_vq_map' [-Werror,-Wimplicit-function-declaration]
                   vec_init_vq_map(ARM64_VEC_SVE);
                   ^
   arch/arm64/kernel/cpufeature.c:944:3: note: did you mean 'sve_init_vq_map'?
   arch/arm64/include/asm/fpsimd.h:237:20: note: 'sve_init_vq_map' declared here
   static inline void sve_init_vq_map(void) { }
                      ^
>> arch/arm64/kernel/cpufeature.c:1178:4: error: implicit declaration of function 'vec_update_vq_map' [-Werror,-Wimplicit-function-declaration]
                           vec_update_vq_map(ARM64_VEC_SVE);
                           ^
   arch/arm64/kernel/cpufeature.c:1178:4: note: did you mean 'sve_update_vq_map'?
   arch/arm64/include/asm/fpsimd.h:238:20: note: 'sve_update_vq_map' declared here
   static inline void sve_update_vq_map(void) { }
                      ^
>> arch/arm64/kernel/cpufeature.c:2742:24: error: implicit declaration of function 'vec_verify_vq_map' [-Werror,-Wimplicit-function-declaration]
           if (len < safe_len || vec_verify_vq_map(ARM64_VEC_SVE)) {
                                 ^
   arch/arm64/kernel/cpufeature.c:2742:24: note: did you mean 'sve_verify_vq_map'?
   arch/arm64/include/asm/fpsimd.h:239:19: note: 'sve_verify_vq_map' declared here
   static inline int sve_verify_vq_map(void) { return 0; }
                     ^
   3 errors generated.


vim +124 arch/arm64/kernel/fpsimd.c

   123	
 > 124	__ro_after_init struct vl_info vl_info[ARM64_VEC_MAX] = {
   125	#ifdef CONFIG_ARM64_SVE
   126		[ARM64_VEC_SVE] = {
   127			.type			= ARM64_VEC_SVE,
   128			.name			= "SVE",
   129			.min_vl			= SVE_VL_MIN,
   130			.max_vl			= SVE_VL_MIN,
   131			.max_virtualisable_vl	= SVE_VL_MIN,
   132		},
   133	#endif
   134	};
   135	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 42378 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20211001/4bfaf56e/attachment-0001.gz>


More information about the linux-arm-kernel mailing list