KVM: SVM: add tracing support for TDP page faults
Joerg Roedel [Wed, 30 Apr 2008 15:56:04 +0000 (17:56 +0200)]
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>

arch/x86/kvm/svm.c
include/asm-x86/kvm.h

index 8953292..218949c 100644 (file)
@@ -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);
 }
index 80eefef..6f18408 100644 (file)
@@ -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