oe-kbuild-all.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [dcui-tdx:decui/hyperv-next/v6.1-rc7/for-intel-pov-hv/1207 10/19] arch/x86/include/asm/mshyperv.h:57: undefined reference to `hv_tdx_hypercall'
@ 2023-04-11  8:49 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-04-11  8:49 UTC (permalink / raw)
  To: Dexuan Cui; +Cc: oe-kbuild-all

tree:   https://github.com/dcui/tdx decui/hyperv-next/v6.1-rc7/for-intel-pov-hv/1207
head:   c0a631602939506ef2bceba6697a80b7a366779b
commit: 805bc04f26f1ed4477b5ed68f1284b7bd5d0bf30 [10/19] x86/hyperv: Support hypercalls for TDX guests
config: x86_64-randconfig-a014-20230410 (https://download.01.org/0day-ci/archive/20230411/202304111623.vF2cytxx-lkp@intel.com/config)
compiler: gcc-11 (Debian 11.3.0-8) 11.3.0
reproduce (this is a W=1 build):
        # https://github.com/dcui/tdx/commit/805bc04f26f1ed4477b5ed68f1284b7bd5d0bf30
        git remote add dcui-tdx https://github.com/dcui/tdx
        git fetch --no-tags dcui-tdx decui/hyperv-next/v6.1-rc7/for-intel-pov-hv/1207
        git checkout 805bc04f26f1ed4477b5ed68f1284b7bd5d0bf30
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        make W=1 O=build_dir ARCH=x86_64 olddefconfig
        make W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304111623.vF2cytxx-lkp@intel.com/

All errors (new ones prefixed by >>):

   ld: arch/x86/hyperv/hv_init.o: in function `hv_do_hypercall':
>> arch/x86/include/asm/mshyperv.h:57: undefined reference to `hv_tdx_hypercall'
   ld: arch/x86/hyperv/mmu.o: in function `hv_do_hypercall':
>> arch/x86/include/asm/mshyperv.h:57: undefined reference to `hv_tdx_hypercall'
   ld: arch/x86/hyperv/nested.o: in function `hv_do_hypercall':
>> arch/x86/include/asm/mshyperv.h:57: undefined reference to `hv_tdx_hypercall'
   ld: arch/x86/hyperv/irqdomain.o: in function `hv_do_hypercall':
>> arch/x86/include/asm/mshyperv.h:57: undefined reference to `hv_tdx_hypercall'
   ld: arch/x86/hyperv/ivm.o: in function `hv_do_hypercall':
>> arch/x86/include/asm/mshyperv.h:57: undefined reference to `hv_tdx_hypercall'
   ld: arch/x86/hyperv/hv_apic.o:arch/x86/include/asm/mshyperv.h:57: more undefined references to `hv_tdx_hypercall' follow


vim +57 arch/x86/include/asm/mshyperv.h

    44	
    45	/*
    46	 * If the hypercall involves no input or output parameters, the hypervisor
    47	 * ignores the corresponding GPA pointer.
    48	 */
    49	static inline u64 hv_do_hypercall(u64 control, void *input, void *output)
    50	{
    51		u64 input_address = input ? virt_to_phys(input) : 0;
    52		u64 output_address = output ? virt_to_phys(output) : 0;
    53		u64 hv_status;
    54	
    55	#ifdef CONFIG_X86_64
    56		if (hv_isolation_type_tdx())
  > 57			return hv_tdx_hypercall(control,
    58						cc_mkdec(input_address),
    59						cc_mkdec(output_address));
    60		if (!hv_hypercall_pg)
    61			return U64_MAX;
    62	
    63		__asm__ __volatile__("mov %4, %%r8\n"
    64				     CALL_NOSPEC
    65				     : "=a" (hv_status), ASM_CALL_CONSTRAINT,
    66				       "+c" (control), "+d" (input_address)
    67				     :  "r" (output_address),
    68					THUNK_TARGET(hv_hypercall_pg)
    69				     : "cc", "memory", "r8", "r9", "r10", "r11");
    70	#else
    71		u32 input_address_hi = upper_32_bits(input_address);
    72		u32 input_address_lo = lower_32_bits(input_address);
    73		u32 output_address_hi = upper_32_bits(output_address);
    74		u32 output_address_lo = lower_32_bits(output_address);
    75	
    76		if (!hv_hypercall_pg)
    77			return U64_MAX;
    78	
    79		__asm__ __volatile__(CALL_NOSPEC
    80				     : "=A" (hv_status),
    81				       "+c" (input_address_lo), ASM_CALL_CONSTRAINT
    82				     : "A" (control),
    83				       "b" (input_address_hi),
    84				       "D"(output_address_hi), "S"(output_address_lo),
    85				       THUNK_TARGET(hv_hypercall_pg)
    86				     : "cc", "memory");
    87	#endif /* !x86_64 */
    88		return hv_status;
    89	}
    90	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-04-11  8:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-11  8:49 [dcui-tdx:decui/hyperv-next/v6.1-rc7/for-intel-pov-hv/1207 10/19] arch/x86/include/asm/mshyperv.h:57: undefined reference to `hv_tdx_hypercall' kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).