tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: f022814633e1c600507b3a99691b4d624c2813f0 commit: a9b202606c69312cdaa4db187837820ebf7213b2 RISC-V: Improve /proc/cpuinfo output for ISA extensions date: 10 days ago config: riscv-randconfig-r042-20220327 (https://download.01.org/0day-ci/archive/20220327/202203272341.NC73YmTW-lkp@xxxxxxxxx/config) compiler: riscv64-linux-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a9b202606c69312cdaa4db187837820ebf7213b2 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout a9b202606c69312cdaa4db187837820ebf7213b2 # save the config file to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash arch/riscv/kernel/ drivers/perf/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): arch/riscv/kernel/cpu.c:89: warning: cannot understand function prototype: 'struct riscv_isa_ext_data isa_ext_arr[] = ' >> arch/riscv/kernel/cpu.c:113: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst * These are the only valid base (single letter) ISA extensions as per the spec. vim +113 arch/riscv/kernel/cpu.c 65 66 #ifdef CONFIG_PROC_FS 67 #define __RISCV_ISA_EXT_DATA(UPROP, EXTID) \ 68 { \ 69 .uprop = #UPROP, \ 70 .isa_ext_id = EXTID, \ 71 } 72 /** 73 * Here are the ordering rules of extension naming defined by RISC-V 74 * specification : 75 * 1. All extensions should be separated from other multi-letter extensions 76 * from other multi-letter extensions by an underscore. 77 * 2. The first letter following the 'Z' conventionally indicates the most 78 * closely related alphabetical extension category, IMAFDQLCBKJTPVH. 79 * If multiple 'Z' extensions are named, they should be ordered first 80 * by category, then alphabetically within a category. 81 * 3. Standard supervisor-level extensions (starts with 'S') should be 82 * listed after standard unprivileged extensions. If multiple 83 * supervisor-level extensions are listed, they should be ordered 84 * alphabetically. 85 * 4. Non-standard extensions (starts with 'X') must be listed after all 86 * standard extensions. They must be separated from other multi-letter 87 * extensions by an underscore. 88 */ > 89 static struct riscv_isa_ext_data isa_ext_arr[] = { 90 __RISCV_ISA_EXT_DATA("", RISCV_ISA_EXT_MAX), 91 }; 92 93 static void print_isa_ext(struct seq_file *f) 94 { 95 struct riscv_isa_ext_data *edata; 96 int i = 0, arr_sz; 97 98 arr_sz = ARRAY_SIZE(isa_ext_arr) - 1; 99 100 /* No extension support available */ 101 if (arr_sz <= 0) 102 return; 103 104 for (i = 0; i <= arr_sz; i++) { 105 edata = &isa_ext_arr[i]; 106 if (!__riscv_isa_extension_available(NULL, edata->isa_ext_id)) 107 continue; 108 seq_printf(f, "_%s", edata->uprop); 109 } 110 } 111 112 /** > 113 * These are the only valid base (single letter) ISA extensions as per the spec. 114 * It also specifies the canonical order in which it appears in the spec. 115 * Some of the extension may just be a place holder for now (B, K, P, J). 116 * This should be updated once corresponding extensions are ratified. 117 */ 118 static const char base_riscv_exts[13] = "imafdqcbkjpvh"; 119 -- 0-DAY CI Kernel Test Service https://01.org/lkp