KVM: x86: Add support for AMD Core Perf Extension in guest
authorJanakarajan Natarajan <Janakarajan.Natarajan@amd.com>
Mon, 5 Feb 2018 19:24:52 +0000 (13:24 -0600)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 16 Mar 2018 21:01:28 +0000 (22:01 +0100)
commitc51eb52b8f9835f8f4f51e390885f8ddcfe53871
treefc5861192c5d2fe6058228f976bc4b5d2e934916
parente84b7119e891556d0786c6dafe53286d89f082cc
KVM: x86: Add support for AMD Core Perf Extension in guest

Add support for AMD Core Performance counters in the guest. The base
event select and counter MSRs are changed. In addition, with the core
extension, there are 2 extra counters available for performance
measurements for a total of 6.

With the new MSRs, the logic to map them to the gp_counters[] is changed.
New functions are added to check the validity of the get/set MSRs.

If the guest has the X86_FEATURE_PERFCTR_CORE cpuid flag set, the number
of counters available to the vcpu is set to 6. It the flag is not set
then it is 4.

Signed-off-by: Janakarajan Natarajan <Janakarajan.Natarajan@amd.com>
[Squashed "Expose AMD Core Perf Extension flag to guests" - Radim.]
Signed-off-by: Radim Krčmář <rkrcmar@redhat.com>
arch/x86/kvm/cpuid.c
arch/x86/kvm/pmu_amd.c
arch/x86/kvm/x86.c