From 9903f2031b13dfeff37514197cdd56cbcb3431f4 Mon Sep 17 00:00:00 2001 From: Eduardo Habkost Date: Wed, 15 May 2019 15:53:55 +0200 Subject: [PATCH 1/4] kvm: Fix eax for cpuid leaf 0x40000000 RH-Author: Eduardo Habkost Message-id: <20190515155355.22182-2-ehabkost@redhat.com> Patchwork-id: 87888 O-Subject: [RHEL-7.7 qemu-kvm PATCH 1/1] kvm: Fix eax for cpuid leaf 0x40000000 Bugzilla: 1709495 RH-Acked-by: Dr. David Alan Gilbert RH-Acked-by: Paolo Bonzini RH-Acked-by: Sergio Lopez Pascual From: Jidong Xiao Since Linux kernel 3.5, KVM has documented eax for leaf 0x40000000 to be KVM_CPUID_FEATURES: https://github.com/torvalds/linux/commit/57c22e5f35aa4b9b2fe11f73f3e62bbf9ef36190 But qemu still tries to set it to 0. It would be better to make qemu and kvm consistent. This patch just fixes this issue. Signed-off-by: Jidong Xiao [Include kvm_base in the value. - Paolo] Signed-off-by: Paolo Bonzini (cherry picked from commit 79b6f2f651d64a122dd647c1456635d5a6a176ac) Signed-off-by: Eduardo Habkost Signed-off-by: Miroslav Rezanina --- target-i386/kvm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target-i386/kvm.c b/target-i386/kvm.c index 35a9cf4..d5f6deb 100644 --- a/target-i386/kvm.c +++ b/target-i386/kvm.c @@ -532,7 +532,7 @@ int kvm_arch_init_vcpu(CPUState *cs) memcpy(signature, "KVMKVMKVM\0\0\0", 12); c = &cpuid_data.entries[cpuid_i++]; c->function = KVM_CPUID_SIGNATURE | kvm_base; - c->eax = 0; + c->eax = KVM_CPUID_FEATURES | kvm_base; c->ebx = signature[0]; c->ecx = signature[1]; c->edx = signature[2]; -- 1.8.3.1