summaryrefslogtreecommitdiffstats
path: root/patch.diff
diff options
context:
space:
mode:
authorLouis Burda <quent.burda@gmail.com>2022-07-25 13:58:41 +0200
committerLouis Burda <quent.burda@gmail.com>2022-07-25 13:58:41 +0200
commit7e2719c913c833bdd93b463f5a7dc878d5a22273 (patch)
treea008dcd0d07c6be5b19b9eec0e7330b025d9e215 /patch.diff
parentb98fabdf4b91a6093b3d91f15cb55b21ab89c0f3 (diff)
downloadcachepc-7e2719c913c833bdd93b463f5a7dc878d5a22273.tar.gz
cachepc-7e2719c913c833bdd93b463f5a7dc878d5a22273.zip
Read program counters directly, add print and remove procfs approach for testing
Diffstat (limited to 'patch.diff')
-rw-r--r--patch.diff32
1 files changed, 21 insertions, 11 deletions
diff --git a/patch.diff b/patch.diff
index 7358e7d..35ea16b 100644
--- a/patch.diff
+++ b/patch.diff
@@ -13,7 +13,7 @@ index b804444e16d4..1f7d3b15cf4a 100644
obj-$(CONFIG_KVM) += kvm.o
obj-$(CONFIG_KVM_INTEL) += kvm-intel.o
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
-index 7b3cfbe8f7e3..12c5ff2447a0 100644
+index 7b3cfbe8f7e3..4c6ebe040c30 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -2,6 +2,8 @@
@@ -72,7 +72,7 @@ index 7f2e2a09ebbd..762eb35f19e5 100644
#define KVM_MAX_VCPU_ID KVM_MAX_VCPUS
#endif
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
-index 2541a17ff1c4..5f001419362b 100644
+index 2541a17ff1c4..f900cf449fb8 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -51,6 +51,7 @@
@@ -83,7 +83,16 @@ index 2541a17ff1c4..5f001419362b 100644
#include <asm/processor.h>
#include <asm/ioctl.h>
-@@ -143,6 +144,10 @@ static void hardware_disable_all(void);
+@@ -66,6 +67,8 @@
+ /* Worst case buffer size needed for holding an integer. */
+ #define ITOA_MAX_LEN 12
+
++#include "../../arch/x86/kvm/svm/cachepc/cachepc.h"
++
+ MODULE_AUTHOR("Qumranet");
+ MODULE_LICENSE("GPL");
+
+@@ -143,6 +146,10 @@ static void hardware_disable_all(void);
static void kvm_io_bus_destroy(struct kvm_io_bus *bus);
@@ -94,7 +103,7 @@ index 2541a17ff1c4..5f001419362b 100644
__visible bool kvm_rebooting;
EXPORT_SYMBOL_GPL(kvm_rebooting);
-@@ -4765,10 +4770,29 @@ static void check_processor_compat(void *data)
+@@ -4765,10 +4772,29 @@ static void check_processor_compat(void *data)
*c->ret = kvm_arch_check_processor_compat(c->opaque);
}
@@ -124,27 +133,28 @@ index 2541a17ff1c4..5f001419362b 100644
int r;
int cpu;
-@@ -4848,6 +4872,15 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
+@@ -4848,6 +4874,16 @@ int kvm_init(void *opaque, unsigned vcpu_size, unsigned vcpu_align,
r = kvm_vfio_ops_init();
WARN_ON(r);
++ cachepc_init_counters();
+ cachepc_msrmts_count = 0;
+
-+ memset(&proc_ops, 0, sizeof(proc_ops));
-+ proc_ops.proc_read = kvm_cachepc_read;
++ //memset(&proc_ops, 0, sizeof(proc_ops));
++ //proc_ops.proc_read = kvm_cachepc_read;
+
-+ cachepc_msrmts_file = proc_create("cachepc", 0644, NULL, &proc_ops);
-+ BUG_ON(cachepc_msrmts_file == NULL);
++ //cachepc_msrmts_file = proc_create("cachepc", 0644, NULL, &proc_ops);
++ //BUG_ON(cachepc_msrmts_file == NULL);
+
+
return 0;
out_unreg:
-@@ -4872,6 +4905,7 @@ EXPORT_SYMBOL_GPL(kvm_init);
+@@ -4872,6 +4908,7 @@ EXPORT_SYMBOL_GPL(kvm_init);
void kvm_exit(void)
{
-+ remove_proc_entry("cachepc", cachepc_msrmts_file);
++ //remove_proc_entry("cachepc", cachepc_msrmts_file);
debugfs_remove_recursive(kvm_debugfs_dir);
misc_deregister(&kvm_dev);
kmem_cache_destroy(kvm_vcpu_cache);