Thread (127 messages) 127 messages, 14 authors, 2022-12-01

Re: [PATCH 33/44] KVM: x86: Do VMX/SVM support checks directly in vendor code

From: Paolo Bonzini <pbonzini@redhat.com>
Date: 2022-11-03 18:47:32
Also in: kvm, kvm-riscv, kvmarm, linux-arm-kernel, linux-mips, linux-riscv, linux-s390, lkml

On 11/3/22 19:35, Sean Christopherson wrote:
It's technically required.  IA32_FEAT_CTL and thus KVM_INTEL depends on any of
CPU_SUP_{INTEL,CENATUR,ZHAOXIN}, but init_ia32_feat_ctl() is invoked if and only
if the actual CPU type matches one of the aforementioned CPU_SUP_*.

E.g. running a kernel built with

   CONFIG_CPU_SUP_INTEL=y
   CONFIG_CPU_SUP_AMD=y
   # CONFIG_CPU_SUP_HYGON is not set
   # CONFIG_CPU_SUP_CENTAUR is not set
   # CONFIG_CPU_SUP_ZHAOXIN is not set

on a Cenatur or Zhaoxin CPU will leave X86_FEATURE_VMX set but not set
X86_FEATURE_MSR_IA32_FEAT_CTL.  If VMX isn't enabled in MSR_IA32_FEAT_CTL, KVM
will get unexpected #UDs when trying to enable VMX.
Oh, I see.  Perhaps X86_FEATURE_VMX and X86_FEATURE_SGX should be moved 
to one of the software words instead of using cpuid.  Nothing that you 
should care about for this series though.

Paolo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help