Hi Fuad,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on c500bee1c5b2f1d59b1081ac879d73268ab0ff17]
url:
https://github.com/0day-ci/linux/commits/Fuad-Tabba/KVM-arm64-Fixed-featu...
base: c500bee1c5b2f1d59b1081ac879d73268ab0ff17
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/58bc1e79b35b3353db259b152a450671b...
git remote add linux-review
https://github.com/0day-ci/linux
git fetch --no-tags linux-review
Fuad-Tabba/KVM-arm64-Fixed-features-for-protected-VMs/20210817-161500
git checkout 58bc1e79b35b3353db259b152a450671bc0822b2
# 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 >>):
> arch/arm64/kvm/hyp/nvhe/sys_regs.c:390:5: warning: no previous
prototype for 'kvm_handle_pvm_sys64' [-Wmissing-prototypes]
390 | int
kvm_handle_pvm_sys64(struct kvm_vcpu *vcpu)
| ^~~~~~~~~~~~~~~~~~~~
> arch/arm64/kvm/hyp/nvhe/sys_regs.c:426:5: warning: no previous
prototype for 'kvm_handle_pvm_restricted' [-Wmissing-prototypes]
426 |
int kvm_handle_pvm_restricted(struct kvm_vcpu *vcpu)
| ^~~~~~~~~~~~~~~~~~~~~~~~~
vim +/kvm_handle_pvm_sys64 +390 arch/arm64/kvm/hyp/nvhe/sys_regs.c
384
385 /*
386 * Handler for protected VM MSR, MRS or System instruction execution in AArch64.
387 *
388 * Return 1 if handled, or 0 if not.
389 */
390 int kvm_handle_pvm_sys64(struct kvm_vcpu *vcpu)
391 {
392 const struct sys_reg_desc *r;
393 struct sys_reg_params params;
394 unsigned long esr = kvm_vcpu_get_esr(vcpu);
395 int Rt = kvm_vcpu_sys_get_rt(vcpu);
396
397 params = esr_sys64_to_params(esr);
398 params.regval = vcpu_get_reg(vcpu, Rt);
399
400 r = find_reg(¶ms, pvm_sys_reg_descs, ARRAY_SIZE(pvm_sys_reg_descs));
401
402 /* Undefined access (RESTRICTED). */
403 if (r == NULL) {
404 inject_undef(vcpu);
405 return 1;
406 }
407
408 /* Handled by the host (HOST_HANDLED) */
409 if (r->access == NULL)
410 return 0;
411
412 /* Handled by hyp: skip instruction if instructed to do so. */
413 if (r->access(vcpu, ¶ms, r))
414 __kvm_skip_instr(vcpu);
415
416 vcpu_set_reg(vcpu, Rt, params.regval);
417 return 1;
418 }
419
420 /*
421 * Handler for protected VM restricted exceptions.
422 *
423 * Inject an undefined exception into the guest and return 1 to indicate that
424 * it was handled.
425 */
426 int kvm_handle_pvm_restricted(struct kvm_vcpu *vcpu)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org