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 shuld not have been picked up for 10.0.x. Reviewed-by: Zhao Liu <[email protected]> Signed-off-by: Michael Tokarev <[email protected]> diff --git a/target/i386/cpu.c b/target/i386/cpu.c index 58c62ff5b5..34b52ef7a1 100644 --- a/target/i386/cpu.c +++ b/target/i386/cpu.c @@ -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)) { -- 2.47.3
