Version 5 is backwards compatible with version 3. This allows to enable
vPMU on Ice Lake CPUs.
Signed-off-by: Igor Druzhinin <igor.druzhinin@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
On 13.04.2021 19:25, Igor Druzhinin wrote: > Version 5 is backwards compatible with version 3. This allows to enable > vPMU on Ice Lake CPUs. > > Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com>
On 14.04.2021 14:28, Jan Beulich wrote: > On 13.04.2021 19:25, Igor Druzhinin wrote: >> Version 5 is backwards compatible with version 3. This allows to enable >> vPMU on Ice Lake CPUs. >> >> Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> > > Acked-by: Jan Beulich <jbeulich@suse.com> Actually I've just noticed that I can't ack this, as the source file is deemed part of VT-x. I wonder whether we should drop this, as it's been quite a while since vPMU code was made HVM-independent. Jan
> From: Igor Druzhinin <igor.druzhinin@citrix.com> > Sent: Wednesday, April 14, 2021 1:25 AM > > Version 5 is backwards compatible with version 3. This allows to enable > vPMU on Ice Lake CPUs. > > Signed-off-by: Igor Druzhinin <igor.druzhinin@citrix.com> Reviewed-by: Kevin Tian <kevin.tian@intel.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
© 2016 - 2024 Red Hat, Inc.