On 6/13/2023 9:19 PM, Xiaoyao Li wrote:
Decrease array index cpuid_i when CPUID leaf 1F is skipped, otherwise it
will get an all zero'ed CPUID entry with leaf 0 and subleaf 0. It
conflicts with correct leaf 0.

Maybe change the commit log like this:

Exiting code misses a decrement of cpuid_i when skip left 0x1F, so there's a blank CPUID

entry(with all fields stuffed 0s) left in the CPUID array.  Fix the issue to avoid the blank slot.

Reviewed-by:Yang Weijiang <weijiang.y...@intel.com>


Signed-off-by: Xiaoyao Li <xiaoyao...@intel.com>
---
  target/i386/kvm/kvm.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index de531842f6b1..afa97799d89a 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -1956,6 +1956,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
          }
          case 0x1f:
              if (env->nr_dies < 2) {
+                cpuid_i--;
                  break;
              }
              /* fallthrough */

Reply via email to