Messages in this thread | | | Date | Tue, 15 Mar 2022 15:25:21 +0800 | From | kernel test robot <> | Subject | [cxl:preview 55/78] drivers/cxl/region.c:104: undefined reference to `__umoddi3' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git preview head: 9b688fc651b9d2b633e8d959454670aba1c39162 commit: 786e9e583773745bcd55c225d3a2643454dcca84 [55/78] cxl/region: Introduce a cxl_region driver config: i386-randconfig-c021-20220314 (https://download.01.org/0day-ci/archive/20220315/202203151541.AJJWxAas-lkp@intel.com/config) compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0 reproduce (this is a W=1 build): # https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git/commit/?id=786e9e583773745bcd55c225d3a2643454dcca84 git remote add cxl https://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git git fetch --no-tags cxl preview git checkout 786e9e583773745bcd55c225d3a2643454dcca84 # save the config file to linux build tree mkdir build_dir make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
ld: drivers/cxl/region.o: in function `sanitize_region': >> drivers/cxl/region.c:104: undefined reference to `__umoddi3'
vim +104 drivers/cxl/region.c
66 67 /** 68 * sanitize_region() - Check is region is reasonably configured 69 * @cxlr: The region to check 70 * 71 * Determination as to whether or not a region can possibly be configured is 72 * described in CXL Memory Device SW Guide. In order to implement the algorithms 73 * described there, certain more basic configuration parameters must first need 74 * to be validated. That is accomplished by this function. 75 * 76 * Returns 0 if the region is reasonably configured, else returns a negative 77 * error code. 78 */ 79 static int sanitize_region(const struct cxl_region *cxlr) 80 { 81 const int ig = region_granularity(cxlr); 82 const int iw = region_ways(cxlr); 83 int i; 84 85 if (dev_WARN_ONCE(&cxlr->dev, !is_cxl_region_configured(cxlr), 86 "unconfigured regions can't be probed (race?)\n")) { 87 return -ENXIO; 88 } 89 90 /* 91 * Interleave attributes should be caught by later math, but it's 92 * easiest to find those issues here, now. 93 */ 94 if (!cxl_is_interleave_ways_valid(iw)) { 95 dev_dbg(&cxlr->dev, "Invalid number of ways\n"); 96 return -ENXIO; 97 } 98 99 if (!cxl_is_interleave_granularity_valid(ig)) { 100 dev_dbg(&cxlr->dev, "Invalid interleave granularity\n"); 101 return -ENXIO; 102 } 103 > 104 if (cxlr->config.size % (SZ_256M * iw)) { 105 dev_dbg(&cxlr->dev, "Invalid size. Must be multiple of %uM\n", 106 256 * iw); 107 return -ENXIO; 108 } 109 110 for (i = 0; i < iw; i++) { 111 if (!cxlr->config.targets[i]) { 112 dev_dbg(&cxlr->dev, "Missing memory device target%u", 113 i); 114 return -ENXIO; 115 } 116 if (!cxlr->config.targets[i]->dev.driver) { 117 dev_dbg(&cxlr->dev, "%s isn't CXL.mem capable\n", 118 dev_name(&cxlr->config.targets[i]->dev)); 119 return -ENODEV; 120 } 121 } 122 123 return 0; 124 } 125
--- 0-DAY CI Kernel Test Service https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
| |