]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: x86/pmu: Use different raw event masks for AMD and Intel
authorJim Mattson <jmattson@google.com>
Tue, 8 Mar 2022 01:24:52 +0000 (17:24 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Sat, 2 Apr 2022 09:34:40 +0000 (05:34 -0400)
commitb0b2b3c0f2fb190dcefa0497696bd7f88e67f166
tree9a74f619c8d4754dcc022591265018c7a68f7f09
parentb554a4a1db23901ffbe83e92e24e2e9a239a21ea
KVM: x86/pmu: Use different raw event masks for AMD and Intel

The third nybble of AMD's event select overlaps with Intel's IN_TX and
IN_TXCP bits. Therefore, we can't use AMD64_RAW_EVENT_MASK on Intel
platforms that support TSX.

Declare a raw_event_mask in the kvm_pmu structure, initialize it in
the vendor-specific pmu_refresh() functions, and use that mask for
PERF_TYPE_RAW configurations in reprogram_gp_counter().

Fixes: 2eb4d7b80126 ("KVM: x86/pmu: Use AMD64_RAW_EVENT_MASK for PERF_TYPE_RAW")
Signed-off-by: Jim Mattson <jmattson@google.com>
Message-Id: <20220308012452.3468611-1-jmattson@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/pmu.c
arch/x86/kvm/svm/pmu.c
arch/x86/kvm/vmx/pmu_intel.c