]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
Revert "i386/cpu: Move adjustment of CPUID_EXT_PDCM before feature_dependencies[...
authorMichael Tokarev <mjt@tls.msk.ru>
Wed, 8 Oct 2025 13:42:20 +0000 (16:42 +0300)
committerMichael Tokarev <mjt@tls.msk.ru>
Wed, 15 Oct 2025 20:26:23 +0000 (23:26 +0300)
This reverts commit 3d26cb65c27190e57637644ecf6c96b8c3d246a3
(v10.0.3-34-g3d26cb65c271) from 10.0.x branch.

The problem is that the change makes qemu 10.0.x non-migratable
to subsequent qemu versions, since it requires introducing a new
machine type.  This change should not have been picked up for 10.0.x.

Reviewed-by: Zhao Liu <zhao1.liu@intel.com>
Reopens: https://gitlab.com/qemu-project/qemu/-/issues/3061 (for 10.0.x)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
target/i386/cpu.c

index 58c62ff5b58dd9ac853b32bf05c6a9dd5c50c072..34b52ef7a13edef7342f858173b0ef54d3e33281 100644 (file)
@@ -6851,6 +6851,9 @@ void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
             /* Fixup overflow: max value for bits 23-16 is 255. */
             *ebx |= MIN(num, 255) << 16;
         }
+        if (!cpu->enable_pmu) {
+            *ecx &= ~CPUID_EXT_PDCM;
+        }
         break;
     case 2:
         /* cache info: needed for Pentium Pro compatibility */
@@ -7840,10 +7843,6 @@ void x86_cpu_expand_features(X86CPU *cpu, Error **errp)
         }
     }
 
-    if (!cpu->enable_pmu) {
-        env->features[FEAT_1_ECX] &= ~CPUID_EXT_PDCM;
-    }
-
     for (i = 0; i < ARRAY_SIZE(feature_dependencies); i++) {
         FeatureDep *d = &feature_dependencies[i];
         if (!(env->features[d->from.index] & d->from.mask)) {