Re: [PATCH v4 12/15] KVM: arm64: Add trap handlers for protected VMs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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-features-for-protected-VMs/20210817-161500
base:   c500bee1c5b2f1d59b1081ac879d73268ab0ff17
config: arm64-randconfig-r016-20210816 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 2c6448cdc2f68f8c28fd0bd9404182b81306e6e6)
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
        # install arm64 cross compiling tool for clang build
        # apt-get install binutils-aarch64-linux-gnu
        # https://github.com/0day-ci/linux/commit/58bc1e79b35b3353db259b152a450671bc0822b2
        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=clang make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

>> arch/arm64/kvm/hyp/nvhe/sys_regs.c:390:5: warning: no previous prototype for function 'kvm_handle_pvm_sys64' [-Wmissing-prototypes]
   int kvm_handle_pvm_sys64(struct kvm_vcpu *vcpu)
       ^
   arch/arm64/kvm/hyp/nvhe/sys_regs.c:390:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int kvm_handle_pvm_sys64(struct kvm_vcpu *vcpu)
   ^
   static 
>> arch/arm64/kvm/hyp/nvhe/sys_regs.c:426:5: warning: no previous prototype for function 'kvm_handle_pvm_restricted' [-Wmissing-prototypes]
   int kvm_handle_pvm_restricted(struct kvm_vcpu *vcpu)
       ^
   arch/arm64/kvm/hyp/nvhe/sys_regs.c:426:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int kvm_handle_pvm_restricted(struct kvm_vcpu *vcpu)
   ^
   static 
   2 warnings generated.


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(&params, 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, &params, 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@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux