On 09/05/2016 11:53, Borislav Petkov wrote: > From: Borislav Petkov <bp@xxxxxxx> > > Use already cached CPUID information instead of querying CPUID again. > > No functionality change. > > Signed-off-by: Borislav Petkov <bp@xxxxxxx> > Cc: Joerg Roedel <joro@xxxxxxxxxx> > Cc: kvm@xxxxxxxxxxxxxxx > Cc: x86@xxxxxxxxxx > --- > arch/x86/include/asm/svm.h | 1 - > arch/x86/include/asm/virtext.h | 8 ++------ > 2 files changed, 2 insertions(+), 7 deletions(-) > > diff --git a/arch/x86/include/asm/svm.h b/arch/x86/include/asm/svm.h > index 6136d99f537b..41888f51f936 100644 > --- a/arch/x86/include/asm/svm.h > +++ b/arch/x86/include/asm/svm.h > @@ -185,7 +185,6 @@ struct __attribute__ ((__packed__)) vmcb { > struct vmcb_save_area save; > }; > > -#define SVM_CPUID_FEATURE_SHIFT 2 > #define SVM_CPUID_FUNC 0x8000000a > > #define SVM_VM_CR_SVM_DISABLE 4 > diff --git a/arch/x86/include/asm/virtext.h b/arch/x86/include/asm/virtext.h > index cce9ee68e335..0116b2ee9e64 100644 > --- a/arch/x86/include/asm/virtext.h > +++ b/arch/x86/include/asm/virtext.h > @@ -83,23 +83,19 @@ static inline void cpu_emergency_vmxoff(void) > */ > static inline int cpu_has_svm(const char **msg) > { > - uint32_t eax, ebx, ecx, edx; > - > if (boot_cpu_data.x86_vendor != X86_VENDOR_AMD) { > if (msg) > *msg = "not amd"; > return 0; > } > > - cpuid(0x80000000, &eax, &ebx, &ecx, &edx); > - if (eax < SVM_CPUID_FUNC) { > + if (boot_cpu_data.extended_cpuid_level < SVM_CPUID_FUNC) { > if (msg) > *msg = "can't execute cpuid_8000000a"; > return 0; > } > > - cpuid(0x80000001, &eax, &ebx, &ecx, &edx); > - if (!(ecx & (1 << SVM_CPUID_FEATURE_SHIFT))) { > + if (!boot_cpu_has(X86_FEATURE_SVM)) { > if (msg) > *msg = "svm not available"; > return 0; > Queued, thanks. Paolo -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html