On Fri, 2023-05-12 at 16:50 -0700, Sean Christopherson wrote: > Fold the guts of cpu_has_svm() into kvm_is_svm_supported(), its sole > remaining user. > > No functional change intended. > > Signed-off-by: Sean Christopherson <seanjc@xxxxxxxxxx> The same to the reply to VMX patch: Reviewed-by: Kai Huang <kai.huang@xxxxxxxxx> > --- > arch/x86/include/asm/virtext.h | 28 ---------------------------- > arch/x86/kvm/svm/svm.c | 11 ++++++++--- > 2 files changed, 8 insertions(+), 31 deletions(-) > > diff --git a/arch/x86/include/asm/virtext.h b/arch/x86/include/asm/virtext.h > index be50c414efe4..632575e257d8 100644 > --- a/arch/x86/include/asm/virtext.h > +++ b/arch/x86/include/asm/virtext.h > @@ -22,35 +22,7 @@ > /* > * SVM functions: > */ > - > -/** Check if the CPU has SVM support > - * > - * You can use the 'msg' arg to get a message describing the problem, > - * if the function returns zero. Simply pass NULL if you are not interested > - * on the messages; gcc should take care of not generating code for > - * the messages on this case. > - */ > -static inline int cpu_has_svm(const char **msg) > -{ > - if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD && > - boot_cpu_data.x86_vendor != X86_VENDOR_HYGON) { > - if (msg) > - *msg = "not amd or hygon"; > - return 0; > - } > - > - if (!boot_cpu_has(X86_FEATURE_SVM)) { > - if (msg) > - *msg = "svm not available"; > - return 0; > - } > - return 1; > -} > - > - > /** Disable SVM on the current CPU > - * > - * You should call this only if cpu_has_svm() returned true. > */ Nit: "double **" can be removed in the comment. > static inline void cpu_svm_disable(void) > { > diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c > index 0f0d04900bf2..b347173b4e29 100644 > --- a/arch/x86/kvm/svm/svm.c > +++ b/arch/x86/kvm/svm/svm.c > @@ -526,11 +526,16 @@ static void svm_init_osvw(struct kvm_vcpu *vcpu) > static bool kvm_is_svm_supported(void) > { > int cpu = raw_smp_processor_id(); > - const char *msg; > u64 vm_cr; > > - if (!cpu_has_svm(&msg)) { > - pr_err("SVM not supported by CPU %d, %s\n", cpu, msg); > + if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD && > + boot_cpu_data.x86_vendor != X86_VENDOR_HYGON) { > + pr_err("CPU %d isn't AMD or Hygon\n", cpu); > + return false; > + } > + > + if (!boot_cpu_has(X86_FEATURE_SVM)) { > + pr_err("SVM not supported by CPU %d\n", cpu); > return false; > } > > -- > 2.40.1.606.ga4b1b128d6-goog >