Version 5 is backwards compatible with version 3. This allows to enable vPMU on Ice Lake CPUs.
Signed-off-by: Igor Druzhinin <igor.druzhi...@citrix.com> --- xen/arch/x86/cpu/vpmu_intel.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c index 6e97ce7..0dfc256 100644 --- a/xen/arch/x86/cpu/vpmu_intel.c +++ b/xen/arch/x86/cpu/vpmu_intel.c @@ -839,7 +839,7 @@ int vmx_vpmu_initialise(struct vcpu *v) return 0; if ( v->domain->arch.cpuid->basic.pmu_version <= 1 || - v->domain->arch.cpuid->basic.pmu_version >= 5 ) + v->domain->arch.cpuid->basic.pmu_version >= 6 ) return -EINVAL; if ( (arch_pmc_cnt + fixed_pmc_cnt) == 0 ) @@ -909,8 +909,9 @@ int __init core2_vpmu_init(void) switch ( version ) { case 4: - printk(XENLOG_INFO "VPMU: PMU version 4 is not fully supported. " - "Emulating version 3\n"); + case 5: + printk(XENLOG_INFO "VPMU: PMU version %u is not fully supported. " + "Emulating version 3\n", version); /* FALLTHROUGH */ case 2: -- 2.7.4