Message ID | 1462787586-24151-1-git-send-email-bp@alien8.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 09/05/2016 11:53, Borislav Petkov wrote: > From: Borislav Petkov <bp@suse.de> > > Use already cached CPUID information instead of querying CPUID again. > > No functionality change. > > Signed-off-by: Borislav Petkov <bp@suse.de> > Cc: Joerg Roedel <joro@8bytes.org> > Cc: kvm@vger.kernel.org > Cc: x86@kernel.org > --- > 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
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;