From: Xiaoyao Li <[email protected]> Existing code misses a decrement of cpuid_i when skip leaf 0x1F. There's a blank CPUID entry(with leaf, subleaf as 0, and all fields stuffed 0s) left in the CPUID array.
It conflicts with correct CPUID leaf 0. Signed-off-by: Xiaoyao Li <[email protected]> Reviewed-by:Yang Weijiang <[email protected]> Message-ID: <[email protected]> Cc: [email protected] Signed-off-by: Paolo Bonzini <[email protected]> (cherry picked from commit 10f92799af8ba3c3cef2352adcd4780f13fbab31) Signed-off-by: Michael Tokarev <[email protected]> diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c index 002b699030..5779b80ecb 100644 --- a/target/i386/kvm/kvm.c +++ b/target/i386/kvm/kvm.c @@ -1859,6 +1859,7 @@ int kvm_arch_init_vcpu(CPUState *cs) } case 0x1f: if (env->nr_dies < 2) { + cpuid_i--; break; } /* fallthrough */ -- 2.39.2
