[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202203151541.AJJWxAas-lkp@intel.com>
Date: Tue, 15 Mar 2022 15:25:21 +0800
From: kernel test robot <lkp@...el.com>
To: Ben Widawsky <ben.widawsky@...el.com>
Cc: kbuild-all@...ts.01.org,
Alison Schofield <alison.schofield@...el.com>,
Vishal Verma <vishal.l.verma@...el.com>,
Ira Weiny <ira.weiny@...el.com>,
Ben Widawsky <ben.widawsky@...el.com>,
Dan Williams <dan.j.williams@...el.com>,
linux-kernel@...r.kernel.org
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@...el.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
Powered by blists - more mailing lists