summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2008-04-30 17:56:04 +0200
committerAvi Kivity <avi@qumranet.com>2008-07-20 12:40:48 +0300
commitd2ebb4103ff349af6dac14955bf93e57487a6694 (patch)
tree5c205c2e36c4c4334855455336427d676e9535c0
parentaf9ca2d703f4cefbf6441bfe127c4191092ad394 (diff)
downloadop-kernel-dev-d2ebb4103ff349af6dac14955bf93e57487a6694.zip
op-kernel-dev-d2ebb4103ff349af6dac14955bf93e57487a6694.tar.gz
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 8953292..218949cc 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 80eefef2..6f18408 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
OpenPOWER on IntegriCloud