# HG changeset patch # User Keir Fraser # Date 1277110750 -3600 # Node ID 31708477f0a92be70a940d1c8ff1aa721051bba8 # Parent 46a4c936b77e483971d2b3eb0b544c61700f824a vmx: Fix bug in VMX VPMU fixed function PMC offset This is a minor fix to the calculation of bit-width of fixed function perfmon counters in Intel processors. Bits 5-12 of edx register should be calculated as (edx & 0x1fe0) >>5 instead of using 0x1f70. From: "John, Jaiber J" Signed-off-by: Keir Fraser --- a/xen/arch/x86/hvm/vmx/vpmu_core2.c +++ b/xen/arch/x86/hvm/vmx/vpmu_core2.c @@ -82,7 +82,7 @@ static int core2_get_bitwidth_fix_count( { u32 eax, ebx, ecx, edx; cpuid(0xa, &eax, &ebx, &ecx, &edx); - return ((edx & 0x1f70) >> 5); + return ((edx & 0x1fe0) >> 5); } static int is_core2_vpmu_msr(u32 msr_index, int *type, int *index)