summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel2008-04-30 17:56:04 +0200
committerAvi Kivity2008-07-20 11:40:48 +0200
commitd2ebb4103ff349af6dac14955bf93e57487a6694 (patch)
tree5c205c2e36c4c4334855455336427d676e9535c0
parentKVM: SVM: add missing kvmtrace markers (diff)
downloadkernel-qcow2-linux-d2ebb4103ff349af6dac14955bf93e57487a6694.tar.gz
kernel-qcow2-linux-d2ebb4103ff349af6dac14955bf93e57487a6694.tar.xz
kernel-qcow2-linux-d2ebb4103ff349af6dac14955bf93e57487a6694.zip
KVM: SVM: add tracing support for TDP page faults
To distinguish between real page faults and nested page faults they should be traced as different events. This is implemented by this patch. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r--arch/x86/kvm/svm.c4
-rw-r--r--include/asm-x86/kvm.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c
index 8953292acfd9..218949cce1a0 100644
--- a/arch/x86/kvm/svm.c
+++ b/arch/x86/kvm/svm.c
@@ -1011,6 +1011,10 @@ static int pf_interception(struct vcpu_svm *svm, struct kvm_run *kvm_run)
KVMTRACE_3D(PAGE_FAULT, &svm->vcpu, error_code,
(u32)fault_address, (u32)(fault_address >> 32),
handler);
+ else
+ KVMTRACE_3D(TDP_FAULT, &svm->vcpu, error_code,
+ (u32)fault_address, (u32)(fault_address >> 32),
+ handler);
return kvm_mmu_page_fault(&svm->vcpu, fault_address, error_code);
}
diff --git a/include/asm-x86/kvm.h b/include/asm-x86/kvm.h
index 80eefef2cc76..6f1840812e59 100644
--- a/include/asm-x86/kvm.h
+++ b/include/asm-x86/kvm.h
@@ -228,5 +228,6 @@ struct kvm_pit_state {
#define KVM_TRC_CLTS (KVM_TRC_HANDLER + 0x12)
#define KVM_TRC_LMSW (KVM_TRC_HANDLER + 0x13)
#define KVM_TRC_APIC_ACCESS (KVM_TRC_HANDLER + 0x14)
+#define KVM_TRC_TDP_FAULT (KVM_TRC_HANDLER + 0x15)
#endif