diff --git a/xen/arch/x86/hvm/vmx/vpmu_core2.c b/xen/arch/x86/hvm/vmx/vpmu_core2.c index 369330ea45..bfff882b1a 100644 --- a/xen/arch/x86/hvm/vmx/vpmu_core2.c +++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c @@ -58,7 +58,8 @@ static void check_pmc_quirk(void) is_pmc_quirk = 0; if ( family == 6 ) { - if ( cpu_model == 46 || cpu_model == 26 ) + if ( cpu_model == 47 || cpu_model == 46 || cpu_model == 42 || + cpu_model == 26 ) is_pmc_quirk = 1; } } diff --git a/xen/arch/x86/hvm/vpmu.c b/xen/arch/x86/hvm/vpmu.c index 59076fd1ad..d761fb2c91 100644 --- a/xen/arch/x86/hvm/vpmu.c +++ b/xen/arch/x86/hvm/vpmu.c @@ -119,7 +119,9 @@ void vpmu_initialise(struct vcpu *v) case 23: case 26: case 29: + case 42: case 46: + case 47: vpmu->arch_vpmu_ops = &core2_vpmu_ops; break; }