diff options
Diffstat (limited to 'drivers/kvm')
-rw-r--r-- | drivers/kvm/svm.c | 8 | ||||
-rw-r--r-- | drivers/kvm/vmx.c | 7 |
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/kvm/svm.c b/drivers/kvm/svm.c index ccc06b1b91b5..714f6a7841cd 100644 --- a/drivers/kvm/svm.c +++ b/drivers/kvm/svm.c | |||
@@ -17,6 +17,7 @@ | |||
17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
18 | #include <linux/vmalloc.h> | 18 | #include <linux/vmalloc.h> |
19 | #include <linux/highmem.h> | 19 | #include <linux/highmem.h> |
20 | #include <linux/profile.h> | ||
20 | #include <asm/desc.h> | 21 | #include <asm/desc.h> |
21 | 22 | ||
22 | #include "kvm_svm.h" | 23 | #include "kvm_svm.h" |
@@ -1558,6 +1559,13 @@ again: | |||
1558 | 1559 | ||
1559 | reload_tss(vcpu); | 1560 | reload_tss(vcpu); |
1560 | 1561 | ||
1562 | /* | ||
1563 | * Profile KVM exit RIPs: | ||
1564 | */ | ||
1565 | if (unlikely(prof_on == KVM_PROFILING)) | ||
1566 | profile_hit(KVM_PROFILING, | ||
1567 | (void *)(unsigned long)vcpu->svm->vmcb->save.rip); | ||
1568 | |||
1561 | stgi(); | 1569 | stgi(); |
1562 | 1570 | ||
1563 | kvm_reput_irq(vcpu); | 1571 | kvm_reput_irq(vcpu); |
diff --git a/drivers/kvm/vmx.c b/drivers/kvm/vmx.c index d4701cb4c654..ce219e3f557f 100644 --- a/drivers/kvm/vmx.c +++ b/drivers/kvm/vmx.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
22 | #include <linux/mm.h> | 22 | #include <linux/mm.h> |
23 | #include <linux/highmem.h> | 23 | #include <linux/highmem.h> |
24 | #include <linux/profile.h> | ||
24 | #include <asm/io.h> | 25 | #include <asm/io.h> |
25 | #include <asm/desc.h> | 26 | #include <asm/desc.h> |
26 | 27 | ||
@@ -1859,6 +1860,12 @@ again: | |||
1859 | asm ("mov %0, %%ds; mov %0, %%es" : : "r"(__USER_DS)); | 1860 | asm ("mov %0, %%ds; mov %0, %%es" : : "r"(__USER_DS)); |
1860 | #endif | 1861 | #endif |
1861 | 1862 | ||
1863 | /* | ||
1864 | * Profile KVM exit RIPs: | ||
1865 | */ | ||
1866 | if (unlikely(prof_on == KVM_PROFILING)) | ||
1867 | profile_hit(KVM_PROFILING, (void *)vmcs_readl(GUEST_RIP)); | ||
1868 | |||
1862 | kvm_run->exit_type = 0; | 1869 | kvm_run->exit_type = 0; |
1863 | if (fail) { | 1870 | if (fail) { |
1864 | kvm_run->exit_type = KVM_EXIT_TYPE_FAIL_ENTRY; | 1871 | kvm_run->exit_type = KVM_EXIT_TYPE_FAIL_ENTRY; |