diff options
Diffstat (limited to 'arch/x86/kvm/trace.h')
-rw-r--r-- | arch/x86/kvm/trace.h | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/arch/x86/kvm/trace.h b/arch/x86/kvm/trace.h index db932760ea82..3ff898c104f7 100644 --- a/arch/x86/kvm/trace.h +++ b/arch/x86/kvm/trace.h | |||
@@ -675,12 +675,12 @@ TRACE_EVENT(kvm_emulate_insn, | |||
675 | ), | 675 | ), |
676 | 676 | ||
677 | TP_fast_assign( | 677 | TP_fast_assign( |
678 | __entry->rip = vcpu->arch.emulate_ctxt.decode.fetch.start; | 678 | __entry->rip = vcpu->arch.emulate_ctxt.fetch.start; |
679 | __entry->csbase = kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS); | 679 | __entry->csbase = kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS); |
680 | __entry->len = vcpu->arch.emulate_ctxt.decode.eip | 680 | __entry->len = vcpu->arch.emulate_ctxt._eip |
681 | - vcpu->arch.emulate_ctxt.decode.fetch.start; | 681 | - vcpu->arch.emulate_ctxt.fetch.start; |
682 | memcpy(__entry->insn, | 682 | memcpy(__entry->insn, |
683 | vcpu->arch.emulate_ctxt.decode.fetch.data, | 683 | vcpu->arch.emulate_ctxt.fetch.data, |
684 | 15); | 684 | 15); |
685 | __entry->flags = kei_decode_mode(vcpu->arch.emulate_ctxt.mode); | 685 | __entry->flags = kei_decode_mode(vcpu->arch.emulate_ctxt.mode); |
686 | __entry->failed = failed; | 686 | __entry->failed = failed; |
@@ -698,6 +698,29 @@ TRACE_EVENT(kvm_emulate_insn, | |||
698 | #define trace_kvm_emulate_insn_start(vcpu) trace_kvm_emulate_insn(vcpu, 0) | 698 | #define trace_kvm_emulate_insn_start(vcpu) trace_kvm_emulate_insn(vcpu, 0) |
699 | #define trace_kvm_emulate_insn_failed(vcpu) trace_kvm_emulate_insn(vcpu, 1) | 699 | #define trace_kvm_emulate_insn_failed(vcpu) trace_kvm_emulate_insn(vcpu, 1) |
700 | 700 | ||
701 | TRACE_EVENT( | ||
702 | vcpu_match_mmio, | ||
703 | TP_PROTO(gva_t gva, gpa_t gpa, bool write, bool gpa_match), | ||
704 | TP_ARGS(gva, gpa, write, gpa_match), | ||
705 | |||
706 | TP_STRUCT__entry( | ||
707 | __field(gva_t, gva) | ||
708 | __field(gpa_t, gpa) | ||
709 | __field(bool, write) | ||
710 | __field(bool, gpa_match) | ||
711 | ), | ||
712 | |||
713 | TP_fast_assign( | ||
714 | __entry->gva = gva; | ||
715 | __entry->gpa = gpa; | ||
716 | __entry->write = write; | ||
717 | __entry->gpa_match = gpa_match | ||
718 | ), | ||
719 | |||
720 | TP_printk("gva %#lx gpa %#llx %s %s", __entry->gva, __entry->gpa, | ||
721 | __entry->write ? "Write" : "Read", | ||
722 | __entry->gpa_match ? "GPA" : "GVA") | ||
723 | ); | ||
701 | #endif /* _TRACE_KVM_H */ | 724 | #endif /* _TRACE_KVM_H */ |
702 | 725 | ||
703 | #undef TRACE_INCLUDE_PATH | 726 | #undef TRACE_INCLUDE_PATH |