All of lore.kernel.org
 help / color / mirror / Atom feed
* [linux-next:master 6161/12841] arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: expecting prototype for Handler for protected floating(). Prototype was for kvm_handle_pvm_fpsimd() instead
@ 2021-10-30  0:04 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-10-30  0:04 UTC (permalink / raw)
  To: Fuad Tabba; +Cc: llvm, kbuild-all, Linux Memory Management List, Marc Zyngier

[-- Attachment #1: Type: text/plain, Size: 5032 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   bdcc9f6a568275aed4cc32fd2312432d2ff1b704
commit: 1423afcb411780c7a6a68f801fdcfb6920ad6f06 [6161/12841] KVM: arm64: Trap access to pVM restricted features
config: arm64-randconfig-r033-20211027 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5db7568a6a1fcb408eb8988abdaff2a225a8eb72)
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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=1423afcb411780c7a6a68f801fdcfb6920ad6f06
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout 1423afcb411780c7a6a68f801fdcfb6920ad6f06
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/

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

All warnings (new ones prefixed by >>):

   arch/arm64/kvm/hyp/nvhe/switch.c:126: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Disable host events, enable guest events
   arch/arm64/kvm/hyp/nvhe/switch.c:146: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Disable guest events, enable host events
   arch/arm64/kvm/hyp/nvhe/switch.c:164: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Handler for protected VM restricted exceptions.
   arch/arm64/kvm/hyp/nvhe/switch.c:176: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Handler for protected VM MSR, MRS or System instruction execution in AArch64.
   arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: Function parameter or member 'vcpu' not described in 'kvm_handle_pvm_fpsimd'
   arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: Function parameter or member 'exit_code' not described in 'kvm_handle_pvm_fpsimd'
>> arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: expecting prototype for Handler for protected floating(). Prototype was for kvm_handle_pvm_fpsimd() instead


vim +196 arch/arm64/kvm/hyp/nvhe/switch.c

   144	
   145	/**
 > 146	 * Disable guest events, enable host events
   147	 */
   148	static void __pmu_switch_to_host(struct kvm_cpu_context *host_ctxt)
   149	{
   150		struct kvm_host_data *host;
   151		struct kvm_pmu_events *pmu;
   152	
   153		host = container_of(host_ctxt, struct kvm_host_data, host_ctxt);
   154		pmu = &host->pmu_events;
   155	
   156		if (pmu->events_guest)
   157			write_sysreg(pmu->events_guest, pmcntenclr_el0);
   158	
   159		if (pmu->events_host)
   160			write_sysreg(pmu->events_host, pmcntenset_el0);
   161	}
   162	
   163	/**
   164	 * Handler for protected VM restricted exceptions.
   165	 *
   166	 * Inject an undefined exception into the guest and return true to indicate that
   167	 * the hypervisor has handled the exit, and control should go back to the guest.
   168	 */
   169	static bool kvm_handle_pvm_restricted(struct kvm_vcpu *vcpu, u64 *exit_code)
   170	{
   171		inject_undef64(vcpu);
   172		return true;
   173	}
   174	
   175	/**
   176	 * Handler for protected VM MSR, MRS or System instruction execution in AArch64.
   177	 *
   178	 * Returns true if the hypervisor has handled the exit, and control should go
   179	 * back to the guest, or false if it hasn't.
   180	 */
   181	static bool kvm_handle_pvm_sys64(struct kvm_vcpu *vcpu, u64 *exit_code)
   182	{
   183		if (kvm_handle_pvm_sysreg(vcpu, exit_code))
   184			return true;
   185	
   186		return kvm_hyp_handle_sysreg(vcpu, exit_code);
   187	}
   188	
   189	/**
   190	 * Handler for protected floating-point and Advanced SIMD accesses.
   191	 *
   192	 * Returns true if the hypervisor has handled the exit, and control should go
   193	 * back to the guest, or false if it hasn't.
   194	 */
   195	static bool kvm_handle_pvm_fpsimd(struct kvm_vcpu *vcpu, u64 *exit_code)
 > 196	{
   197		/* Linux guests assume support for floating-point and Advanced SIMD. */
   198		BUILD_BUG_ON(!FIELD_GET(ARM64_FEATURE_MASK(ID_AA64PFR0_FP),
   199					PVM_ID_AA64PFR0_ALLOW));
   200		BUILD_BUG_ON(!FIELD_GET(ARM64_FEATURE_MASK(ID_AA64PFR0_ASIMD),
   201					PVM_ID_AA64PFR0_ALLOW));
   202	
   203		return kvm_hyp_handle_fpsimd(vcpu, exit_code);
   204	}
   205	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 45135 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [linux-next:master 6161/12841] arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: expecting prototype for Handler for protected floating(). Prototype was for kvm_handle_pvm_fpsimd() instead
@ 2021-10-30  0:04 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2021-10-30  0:04 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 5138 bytes --]

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   bdcc9f6a568275aed4cc32fd2312432d2ff1b704
commit: 1423afcb411780c7a6a68f801fdcfb6920ad6f06 [6161/12841] KVM: arm64: Trap access to pVM restricted features
config: arm64-randconfig-r033-20211027 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 5db7568a6a1fcb408eb8988abdaff2a225a8eb72)
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://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=1423afcb411780c7a6a68f801fdcfb6920ad6f06
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout 1423afcb411780c7a6a68f801fdcfb6920ad6f06
        # save the attached .config to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash arch/arm64/

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

All warnings (new ones prefixed by >>):

   arch/arm64/kvm/hyp/nvhe/switch.c:126: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Disable host events, enable guest events
   arch/arm64/kvm/hyp/nvhe/switch.c:146: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Disable guest events, enable host events
   arch/arm64/kvm/hyp/nvhe/switch.c:164: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Handler for protected VM restricted exceptions.
   arch/arm64/kvm/hyp/nvhe/switch.c:176: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
    * Handler for protected VM MSR, MRS or System instruction execution in AArch64.
   arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: Function parameter or member 'vcpu' not described in 'kvm_handle_pvm_fpsimd'
   arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: Function parameter or member 'exit_code' not described in 'kvm_handle_pvm_fpsimd'
>> arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: expecting prototype for Handler for protected floating(). Prototype was for kvm_handle_pvm_fpsimd() instead


vim +196 arch/arm64/kvm/hyp/nvhe/switch.c

   144	
   145	/**
 > 146	 * Disable guest events, enable host events
   147	 */
   148	static void __pmu_switch_to_host(struct kvm_cpu_context *host_ctxt)
   149	{
   150		struct kvm_host_data *host;
   151		struct kvm_pmu_events *pmu;
   152	
   153		host = container_of(host_ctxt, struct kvm_host_data, host_ctxt);
   154		pmu = &host->pmu_events;
   155	
   156		if (pmu->events_guest)
   157			write_sysreg(pmu->events_guest, pmcntenclr_el0);
   158	
   159		if (pmu->events_host)
   160			write_sysreg(pmu->events_host, pmcntenset_el0);
   161	}
   162	
   163	/**
   164	 * Handler for protected VM restricted exceptions.
   165	 *
   166	 * Inject an undefined exception into the guest and return true to indicate that
   167	 * the hypervisor has handled the exit, and control should go back to the guest.
   168	 */
   169	static bool kvm_handle_pvm_restricted(struct kvm_vcpu *vcpu, u64 *exit_code)
   170	{
   171		inject_undef64(vcpu);
   172		return true;
   173	}
   174	
   175	/**
   176	 * Handler for protected VM MSR, MRS or System instruction execution in AArch64.
   177	 *
   178	 * Returns true if the hypervisor has handled the exit, and control should go
   179	 * back to the guest, or false if it hasn't.
   180	 */
   181	static bool kvm_handle_pvm_sys64(struct kvm_vcpu *vcpu, u64 *exit_code)
   182	{
   183		if (kvm_handle_pvm_sysreg(vcpu, exit_code))
   184			return true;
   185	
   186		return kvm_hyp_handle_sysreg(vcpu, exit_code);
   187	}
   188	
   189	/**
   190	 * Handler for protected floating-point and Advanced SIMD accesses.
   191	 *
   192	 * Returns true if the hypervisor has handled the exit, and control should go
   193	 * back to the guest, or false if it hasn't.
   194	 */
   195	static bool kvm_handle_pvm_fpsimd(struct kvm_vcpu *vcpu, u64 *exit_code)
 > 196	{
   197		/* Linux guests assume support for floating-point and Advanced SIMD. */
   198		BUILD_BUG_ON(!FIELD_GET(ARM64_FEATURE_MASK(ID_AA64PFR0_FP),
   199					PVM_ID_AA64PFR0_ALLOW));
   200		BUILD_BUG_ON(!FIELD_GET(ARM64_FEATURE_MASK(ID_AA64PFR0_ASIMD),
   201					PVM_ID_AA64PFR0_ALLOW));
   202	
   203		return kvm_hyp_handle_fpsimd(vcpu, exit_code);
   204	}
   205	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 45135 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-10-30  0:05 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-30  0:04 [linux-next:master 6161/12841] arch/arm64/kvm/hyp/nvhe/switch.c:196: warning: expecting prototype for Handler for protected floating(). Prototype was for kvm_handle_pvm_fpsimd() instead kernel test robot
2021-10-30  0:04 ` kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.