lkml.org 
[lkml]   [2022]   [Mar]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
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

\
 
 \ /
  Last update: 2022-03-15 08:26    [W:0.048 / U:0.532 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site