Hi Paolo, Obviously this series requires x86 part patches (which is on tip/x86/sgx) to work. Please let me know how do you want to proceed? On Mon, 2021-04-12 at 17:51 +0800, kernel test robot wrote: > Hi Kai, > > I love your patch! Yet something to improve: > > [auto build test ERROR on kvm/queue] > [also build test ERROR on next-20210409] > [cannot apply to vhost/linux-next v5.12-rc7] > [If your patch is applied to the wrong git tree, kindly drop us a note. > And when submitting patch, we suggest to use '--base' as documented in > https://git-scm.com/docs/git-format-patch] > > url: https://github.com/0day-ci/linux/commits/Kai-Huang/KVM-SGX-virtualization-support-KVM-part/20210412-122425 > base: https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue > config: x86_64-rhel-8.3-kselftests (attached as .config) > compiler: gcc-9 (Debian 9.3.0-22) 9.3.0 > reproduce (this is a W=1 build): >         # https://github.com/0day-ci/linux/commit/66e235131b59a03ed48f6f6343de43ba9786e32d >         git remote add linux-review https://github.com/0day-ci/linux >         git fetch --no-tags linux-review Kai-Huang/KVM-SGX-virtualization-support-KVM-part/20210412-122425 >         git checkout 66e235131b59a03ed48f6f6343de43ba9786e32d >         # save the attached .config to linux build tree >         make W=1 ARCH=x86_64 > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot > > All errors (new ones prefixed by >>): > >    In file included from arch/x86/kvm/cpuid.c:22: >    arch/x86/kvm/cpuid.h: In function '__feature_translate': >    arch/x86/kvm/cpuid.h:128:21: error: 'X86_FEATURE_SGX1' undeclared (first use in this function); did you mean 'X86_FEATURE_SGX'? >      128 | if (x86_feature == X86_FEATURE_SGX1) >          | ^~~~~~~~~~~~~~~~ >          | X86_FEATURE_SGX >    arch/x86/kvm/cpuid.h:128:21: note: each undeclared identifier is reported only once for each function it appears in >    arch/x86/kvm/cpuid.h:130:26: error: 'X86_FEATURE_SGX2' undeclared (first use in this function); did you mean 'X86_FEATURE_SGX'? >      130 | else if (x86_feature == X86_FEATURE_SGX2) >          | ^~~~~~~~~~~~~~~~ >          | X86_FEATURE_SGX >    In file included from arch/x86/include/asm/thread_info.h:53, >                     from include/linux/thread_info.h:58, >                     from arch/x86/include/asm/preempt.h:7, >                     from include/linux/preempt.h:78, >                     from include/linux/percpu.h:6, >                     from include/linux/context_tracking_state.h:5, >                     from include/linux/hardirq.h:5, >                     from include/linux/kvm_host.h:7, >                     from arch/x86/kvm/cpuid.c:12: >    arch/x86/kvm/cpuid.c: In function 'kvm_set_cpu_caps': > > > arch/x86/kvm/cpuid.c:57:32: error: 'X86_FEATURE_SGX1' undeclared (first use in this function); did you mean 'X86_FEATURE_SGX'? >       57 | #define SF(name) (boot_cpu_has(X86_FEATURE_##name) ? F(name) : 0) >          | ^~~~~~~~~~~~ >    arch/x86/include/asm/cpufeature.h:121:24: note: in definition of macro 'cpu_has' >      121 | (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \ >          | ^~~ >    arch/x86/kvm/cpuid.c:57:19: note: in expansion of macro 'boot_cpu_has' >       57 | #define SF(name) (boot_cpu_has(X86_FEATURE_##name) ? F(name) : 0) >          | ^~~~~~~~~~~~ >    arch/x86/kvm/cpuid.c:500:3: note: in expansion of macro 'SF' >      500 | SF(SGX1) | SF(SGX2) >          | ^~ > > > arch/x86/kvm/cpuid.c:57:32: error: 'X86_FEATURE_SGX2' undeclared (first use in this function); did you mean 'X86_FEATURE_SGX'? >       57 | #define SF(name) (boot_cpu_has(X86_FEATURE_##name) ? F(name) : 0) >          | ^~~~~~~~~~~~ >    arch/x86/include/asm/cpufeature.h:121:24: note: in definition of macro 'cpu_has' >      121 | (__builtin_constant_p(bit) && REQUIRED_MASK_BIT_SET(bit) ? 1 : \ >          | ^~~ >    arch/x86/kvm/cpuid.c:57:19: note: in expansion of macro 'boot_cpu_has' >       57 | #define SF(name) (boot_cpu_has(X86_FEATURE_##name) ? F(name) : 0) >          | ^~~~~~~~~~~~ >    arch/x86/kvm/cpuid.c:500:14: note: in expansion of macro 'SF' >      500 | SF(SGX1) | SF(SGX2) >          | ^~ >    arch/x86/kvm/cpuid.c: In function '__do_cpuid_func': > > > arch/x86/kvm/cpuid.c:838:17: error: 'SGX_MISC_EXINFO' undeclared (first use in this function) >      838 | entry->ebx &= SGX_MISC_EXINFO; >          | ^~~~~~~~~~~~~~~ > > > arch/x86/kvm/cpuid.c:851:17: error: 'SGX_ATTR_DEBUG' undeclared (first use in this function) >      851 | entry->eax &= SGX_ATTR_DEBUG | SGX_ATTR_MODE64BIT | >          | ^~~~~~~~~~~~~~ > > > arch/x86/kvm/cpuid.c:851:34: error: 'SGX_ATTR_MODE64BIT' undeclared (first use in this function) >      851 | entry->eax &= SGX_ATTR_DEBUG | SGX_ATTR_MODE64BIT | >          | ^~~~~~~~~~~~~~~~~~ > > > arch/x86/kvm/cpuid.c:852:31: error: 'SGX_ATTR_EINITTOKENKEY' undeclared (first use in this function) >      852 | /* PROVISIONKEY | */ SGX_ATTR_EINITTOKENKEY | >          | ^~~~~~~~~~~~~~~~~~~~~~ > > > arch/x86/kvm/cpuid.c:853:10: error: 'SGX_ATTR_KSS' undeclared (first use in this function) >      853 | SGX_ATTR_KSS; >          | ^~~~~~~~~~~~ > -- >    In file included from arch/x86/kvm/vmx/vmx.c:51: >    arch/x86/kvm/cpuid.h: In function '__feature_translate': >    arch/x86/kvm/cpuid.h:128:21: error: 'X86_FEATURE_SGX1' undeclared (first use in this function); did you mean 'X86_FEATURE_SGX'? >      128 | if (x86_feature == X86_FEATURE_SGX1) >          | ^~~~~~~~~~~~~~~~ >          | X86_FEATURE_SGX >    arch/x86/kvm/cpuid.h:128:21: note: each undeclared identifier is reported only once for each function it appears in >    arch/x86/kvm/cpuid.h:130:26: error: 'X86_FEATURE_SGX2' undeclared (first use in this function); did you mean 'X86_FEATURE_SGX'? >      130 | else if (x86_feature == X86_FEATURE_SGX2) >          | ^~~~~~~~~~~~~~~~ >          | X86_FEATURE_SGX >    arch/x86/kvm/vmx/vmx.c: In function 'vmx_set_cpu_caps': > > > arch/x86/kvm/vmx/vmx.c:7375:21: error: 'X86_FEATURE_SGX1' undeclared (first use in this function); did you mean 'X86_FEATURE_SGX'? >     7375 | kvm_cpu_cap_clear(X86_FEATURE_SGX1); >          | ^~~~~~~~~~~~~~~~ >          | X86_FEATURE_SGX > > > arch/x86/kvm/vmx/vmx.c:7376:21: error: 'X86_FEATURE_SGX2' undeclared (first use in this function); did you mean 'X86_FEATURE_SGX'? >     7376 | kvm_cpu_cap_clear(X86_FEATURE_SGX2); >          | ^~~~~~~~~~~~~~~~ >          | X86_FEATURE_SGX > > > vim +57 arch/x86/kvm/cpuid.c > > 4344ee981e2199 Paolo Bonzini 2013-10-02 55 > 87382003e35559 Sean Christopherson 2019-12-17 56 #define F feature_bit > cb4de96e0cca64 Sean Christopherson 2021-04-12 @57 #define SF(name) (boot_cpu_has(X86_FEATURE_##name) ? F(name) : 0) > 5c404cabd1b5c1 Paolo Bonzini 2014-12-03 58 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org