Hi Reiji,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on v5.16-rc1]
[also build test WARNING on next-20211118]
[cannot apply to kvmarm/next kvm/queue arm64/for-next/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url:
https://github.com/0day-ci/linux/commits/Reiji-Watanabe/KVM-arm64-Make-CP...
base: fa55b7dcdc43c1aa1ba12bca9d2dd4318c2a0dbf
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-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://github.com/0day-ci/linux/commit/4b1edce3c1994d2991acee8d1a2b483d8...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Reiji-Watanabe/KVM-arm64-Make-CPU-ID-registers-writable-by-userspace/20211117-145539
git checkout 4b1edce3c1994d2991acee8d1a2b483d8134edaf
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2455:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2455 | PMU_PMEVTYPER_EL0(23),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for
'sys_reg_descs[361].reset')
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2455:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2455 | PMU_PMEVTYPER_EL0(23),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: warning: initialized field overwritten
[-Woverride-init]
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2456:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2456 | PMU_PMEVTYPER_EL0(24),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for
'sys_reg_descs[362].reset')
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2456:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2456 | PMU_PMEVTYPER_EL0(24),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: warning: initialized field overwritten
[-Woverride-init]
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2457:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2457 | PMU_PMEVTYPER_EL0(25),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for
'sys_reg_descs[363].reset')
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2457:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2457 | PMU_PMEVTYPER_EL0(25),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: warning: initialized field overwritten
[-Woverride-init]
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2458:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2458 | PMU_PMEVTYPER_EL0(26),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for
'sys_reg_descs[364].reset')
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2458:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2458 | PMU_PMEVTYPER_EL0(26),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: warning: initialized field overwritten
[-Woverride-init]
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2459:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2459 | PMU_PMEVTYPER_EL0(27),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for
'sys_reg_descs[365].reset')
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2459:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2459 | PMU_PMEVTYPER_EL0(27),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: warning: initialized field overwritten
[-Woverride-init]
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2460:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2460 | PMU_PMEVTYPER_EL0(28),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for
'sys_reg_descs[366].reset')
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2460:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2460 | PMU_PMEVTYPER_EL0(28),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: warning: initialized field overwritten
[-Woverride-init]
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2461:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2461 | PMU_PMEVTYPER_EL0(29),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for
'sys_reg_descs[367].reset')
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2461:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2461 | PMU_PMEVTYPER_EL0(29),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: warning: initialized field overwritten
[-Woverride-init]
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2462:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2462 | PMU_PMEVTYPER_EL0(30),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:1678:20: note: (near initialization for
'sys_reg_descs[368].reset')
1678 | .reset = reset_pmevtyper, \
| ^~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2462:9: note: in expansion of macro
'PMU_PMEVTYPER_EL0'
2462 | PMU_PMEVTYPER_EL0(30),
| ^~~~~~~~~~~~~~~~~
arch/arm64/kvm/sys_regs.c:2468:20: warning: initialized field overwritten
[-Woverride-init]
2468 | .reset = reset_val, .reg = PMCCFILTR_EL0, .val = 0 },
| ^~~~~~~~~
arch/arm64/kvm/sys_regs.c:2468:20: note: (near initialization for
'sys_reg_descs[369].reset')
In file included from arch/arm64/kvm/sys_regs.c:3635:
> arch/arm64/kvm/sys_regs_test.c:135:6: warning: no previous
prototype for 'arm64_check_feature_one_test' [-Wmissing-prototypes]
135
| void arm64_check_feature_one_test(struct kunit *test)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
> arch/arm64/kvm/sys_regs_test.c:217:6: warning: no previous
prototype for 'arm64_check_features_test' [-Wmissing-prototypes]
217 |
void arm64_check_features_test(struct kunit *test)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/arm64_check_feature_one_test +135 arch/arm64/kvm/sys_regs_test.c
134
135 void arm64_check_feature_one_test(struct kunit *test)
136 {
137 const struct check_feature_one_test *ft = test->param_value;
138
139 KUNIT_EXPECT_EQ(test,
140 arm64_check_feature_one(ft->type, ft->value, ft->limit),
141 ft->expected);
142 }
143
144 KUNIT_ARRAY_PARAM(feature_one, feature_one_params, feature_one_case_to_desc);
145
146
147 /* Test parameter information to test arm64_check_features */
148 struct check_features_test {
149 u64 check_types;
150 u64 value;
151 u64 limit;
152 int expected;
153 };
154
155 #define U_FEAT_TEST(shift, type, value, limit, exp) \
156 {U_FCT(shift, type), (u64)value << shift, (u64)limit << shift, exp}
157
158 #define S_FEAT_TEST(shift, type, value, limit, exp) \
159 {S_FCT(shift, type), (u64)value << shift, (u64)limit << shift, exp}
160
161 struct check_features_test features_params[] = {
162 /* Unsigned */
163 U_FEAT_TEST(0, FCT_LOWER_SAFE, 1, 2, 0),
164 U_FEAT_TEST(0, FCT_HIGHER_SAFE, 1, 2, -E2BIG),
165 U_FEAT_TEST(0, FCT_HIGHER_OR_ZERO_SAFE, 1, 2, -E2BIG),
166 U_FEAT_TEST(0, FCT_EXACT, 1, 2, -E2BIG),
167 U_FEAT_TEST(0, FCT_IGNORE, 1, 2, 0),
168 U_FEAT_TEST(0, FCT_LOWER_SAFE, 1, 0xf, 0),
169 U_FEAT_TEST(0, FCT_HIGHER_SAFE, 1, 0xf, -E2BIG),
170 U_FEAT_TEST(0, FCT_HIGHER_OR_ZERO_SAFE, 1, 0xf, -E2BIG),
171 U_FEAT_TEST(0, FCT_EXACT, 1, 0xf, -E2BIG),
172 U_FEAT_TEST(0, FCT_IGNORE, 1, 0xf, 0),
173 U_FEAT_TEST(60, FCT_LOWER_SAFE, 1, 2, 0),
174 U_FEAT_TEST(60, FCT_HIGHER_SAFE, 1, 2, -E2BIG),
175 U_FEAT_TEST(60, FCT_HIGHER_OR_ZERO_SAFE, 1, 2, -E2BIG),
176 U_FEAT_TEST(60, FCT_EXACT, 1, 2, -E2BIG),
177 U_FEAT_TEST(60, FCT_IGNORE, 1, 2, 0),
178 U_FEAT_TEST(60, FCT_LOWER_SAFE, 1, 0xf, 0),
179 U_FEAT_TEST(60, FCT_HIGHER_SAFE, 1, 0xf, -E2BIG),
180 U_FEAT_TEST(60, FCT_HIGHER_OR_ZERO_SAFE, 1, 0xf, -E2BIG),
181 U_FEAT_TEST(60, FCT_EXACT, 1, 0xf, -E2BIG),
182 U_FEAT_TEST(60, FCT_IGNORE, 1, 0xf, 0),
183
184 /* Signed */
185 S_FEAT_TEST(0, FCT_LOWER_SAFE, 1, 2, 0),
186 S_FEAT_TEST(0, FCT_HIGHER_SAFE, 1, 2, -E2BIG),
187 S_FEAT_TEST(0, FCT_HIGHER_OR_ZERO_SAFE, 1, 2, -E2BIG),
188 S_FEAT_TEST(0, FCT_EXACT, 1, 2, -E2BIG),
189 S_FEAT_TEST(0, FCT_IGNORE, 1, 2, 0),
190 S_FEAT_TEST(0, FCT_LOWER_SAFE, 1, 0xf, -E2BIG),
191 S_FEAT_TEST(0, FCT_HIGHER_SAFE, 1, 0xf, 0),
192 S_FEAT_TEST(0, FCT_HIGHER_OR_ZERO_SAFE, 1, 0xf, 0),
193 S_FEAT_TEST(0, FCT_EXACT, 1, 0xf, -E2BIG),
194 S_FEAT_TEST(0, FCT_IGNORE, 1, 0xf, 0),
195 S_FEAT_TEST(60, FCT_LOWER_SAFE, 1, 2, 0),
196 S_FEAT_TEST(60, FCT_HIGHER_SAFE, 1, 2, -E2BIG),
197 S_FEAT_TEST(60, FCT_HIGHER_OR_ZERO_SAFE, 1, 2, -E2BIG),
198 S_FEAT_TEST(60, FCT_EXACT, 1, 2, -E2BIG),
199 S_FEAT_TEST(60, FCT_IGNORE, 1, 2, 0),
200 S_FEAT_TEST(60, FCT_LOWER_SAFE, 1, 0xf, -E2BIG),
201 S_FEAT_TEST(60, FCT_HIGHER_SAFE, 1, 0xf, 0),
202 S_FEAT_TEST(60, FCT_HIGHER_OR_ZERO_SAFE, 1, 0xf, 0),
203 S_FEAT_TEST(60, FCT_EXACT, 1, 0xf, -E2BIG),
204 S_FEAT_TEST(60, FCT_IGNORE, 1, 0xf, 0),
205 };
206
207 static void features_case_to_desc(struct check_features_test *t, char *desc)
208 {
209 snprintf(desc, KUNIT_PARAM_DESC_SIZE,
210 "check_types:0x%llx, value:0x%llx, limit:0x%llx\n",
211 t->check_types, t->value, t->limit);
212 }
213
214 KUNIT_ARRAY_PARAM(features, features_params, features_case_to_desc);
215
216
217 void arm64_check_features_test(struct kunit *test)
218 {
219 const struct check_features_test *ft = test->param_value;
220
221 KUNIT_EXPECT_EQ(test,
222 arm64_check_features(ft->check_types, ft->value, ft->limit),
223 ft->expected);
224 }
225
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org