On 29/05/20 09:43, Like Xu wrote:
> + if (!cpu->enable_pmu) {
> + *ecx &= ~CPUID_EXT_PDCM;
> + }
> break;
> case 2:
> /* cache info: needed for Pentium Pro compatibility */
> @@ -6505,6 +6528,12 @@ static void x86_cpu_realizefn(DeviceState *dev, Error
> **errp)
> }
> }
>
> + if (kvm_enabled() && cpu->enable_pmu &&
> + (kvm_arch_get_supported_cpuid(kvm_state, 1, 0, R_ECX) &
> + CPUID_EXT_PDCM)) {
> + env->features[FEAT_1_ECX] |= CPUID_EXT_PDCM;
> + }
> +
I'm dropping this hunk two hunks because it's going to break live
migration with e.g. "-cpu IvyBridge,pmu=on". We will have to add PDCM
by default only to future CPU models, but "-cpu host,pmu=on" will pick
it up automatically.
Paolo