[intel-tdx:guest 19/127] arch/x86/include/asm/kvm_para.h:39:10: error: implicit declaration of function 'tdx_kvm_hypercall'; did you mean 'kvm_hypercall0'?

From: kernel test robot
Date: Thu Sep 02 2021 - 03:03:29 EST


tree: https://github.com/intel/tdx.git guest
head: c748712bd17bbd7f8a75553911a5557f3d7d32b2
commit: b050815868ea9723b6b08badd2bbb887fdbc454c [19/127] x86/tdx: Wire up KVM hypercalls
config: i386-tinyconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/intel/tdx/commit/b050815868ea9723b6b08badd2bbb887fdbc454c
git remote add intel-tdx https://github.com/intel/tdx.git
git fetch --no-tags intel-tdx guest
git checkout b050815868ea9723b6b08badd2bbb887fdbc454c
# save the attached .config to linux build tree
make W=1 ARCH=i386

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

All errors (new ones prefixed by >>):

In file included from arch/x86/mm/fault.c:33:
arch/x86/include/asm/kvm_para.h: In function 'kvm_hypercall0':
>> arch/x86/include/asm/kvm_para.h:39:10: error: implicit declaration of function 'tdx_kvm_hypercall'; did you mean 'kvm_hypercall0'? [-Werror=implicit-function-declaration]
39 | return tdx_kvm_hypercall(nr, 0, 0, 0, 0);
| ^~~~~~~~~~~~~~~~~
| kvm_hypercall0
cc1: some warnings being treated as errors


vim +39 arch/x86/include/asm/kvm_para.h

20
21 #define KVM_HYPERCALL \
22 ALTERNATIVE("vmcall", "vmmcall", X86_FEATURE_VMMCALL)
23
24 /* For KVM hypercalls, a three-byte sequence of either the vmcall or the vmmcall
25 * instruction. The hypervisor may replace it with something else but only the
26 * instructions are guaranteed to be supported.
27 *
28 * Up to four arguments may be passed in rbx, rcx, rdx, and rsi respectively.
29 * The hypercall number should be placed in rax and the return value will be
30 * placed in rax. No other registers will be clobbered unless explicitly
31 * noted by the particular hypercall.
32 */
33
34 static inline long kvm_hypercall0(unsigned int nr)
35 {
36 long ret;
37
38 if (prot_guest_has(PATTR_GUEST_TDX))
> 39 return tdx_kvm_hypercall(nr, 0, 0, 0, 0);
40
41 asm volatile(KVM_HYPERCALL
42 : "=a"(ret)
43 : "a"(nr)
44 : "memory");
45 return ret;
46 }
47

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

Attachment: .config.gz
Description: application/gzip