summaryrefslogtreecommitdiffstats
path: root/arch/x86/kvm/svm.c
diff options
context:
space:
mode:
authorWei Huang2015-06-19 15:45:05 +0200
committerPaolo Bonzini2015-06-23 14:12:14 +0200
commit25462f7f5295e2d3e9c2b31761ac95f0b3c8562f (patch)
treeed5d7df52d131213a898c34d4596d60e997c485c /arch/x86/kvm/svm.c
parentKVM: x86/vPMU: introduce kvm_pmu_msr_idx_to_pmc (diff)
downloadkernel-qcow2-linux-25462f7f5295e2d3e9c2b31761ac95f0b3c8562f.tar.gz
kernel-qcow2-linux-25462f7f5295e2d3e9c2b31761ac95f0b3c8562f.tar.xz
kernel-qcow2-linux-25462f7f5295e2d3e9c2b31761ac95f0b3c8562f.zip
KVM: x86/vPMU: Define kvm_pmu_ops to support vPMU function dispatch
This patch defines a new function pointer struct (kvm_pmu_ops) to support vPMU for both Intel and AMD. The functions pointers defined in this new struct will be linked with Intel and AMD functions later. In the meanwhile the struct that maps from event_sel bits to PERF_TYPE_HARDWARE events is renamed and moved from Intel specific code to kvm_host.h as a common struct. Reviewed-by: Joerg Roedel <jroedel@suse.de> Tested-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Wei Huang <wei@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'arch/x86/kvm/svm.c')
-rw-r--r--arch/x86/kvm/svm.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index e7685af399e4..851a9a1c6dfc 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -21,6 +21,7 @@
#include "kvm_cache_regs.h"
#include "x86.h"
#include "cpuid.h"
+#include "pmu.h"
#include <linux/module.h>
#include <linux/mod_devicetable.h>
@@ -4457,6 +4458,8 @@ static struct kvm_x86_ops svm_x86_ops = {
.handle_external_intr = svm_handle_external_intr,
.sched_in = svm_sched_in,
+
+ .pmu_ops = &amd_pmu_ops,
};
static int __init svm_init(void)