X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=instrumentation%2Fevents%2Flttng-module%2Farch%2Fx86%2Fkvm%2Fmmutrace.h;h=ad09313df1fb25d6ff104dc0e1e1d157c796a22c;hb=c075712b6e6ba766c844f4504ac012c49d1f6b4b;hp=a71b2a1ae9bc5bce96aa5e247953be3ce1d3a868;hpb=f127e61ee231d002fb9a7803643a157e06f6d2e2;p=lttng-modules.git diff --git a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h index a71b2a1a..ad09313d 100644 --- a/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h +++ b/instrumentation/events/lttng-module/arch/x86/kvm/mmutrace.h @@ -1,18 +1,37 @@ #if !defined(LTTNG_TRACE_KVM_MMU_H) || defined(TRACE_HEADER_MULTI_READ) #define LTTNG_TRACE_KVM_MMU_H -#include "../../../../../../probes/lttng-tracepoint-event.h" +#include +#include + +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) +#include +#else /* if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */ #include +#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)) */ #undef TRACE_SYSTEM #define TRACE_SYSTEM kvm_mmu +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) + #define LTTNG_KVM_MMU_PAGE_FIELDS \ + ctf_integer(unsigned long, mmu_valid_gen, (sp)->mmu_valid_gen) \ ctf_integer(__u64, gfn, (sp)->gfn) \ ctf_integer(__u32, role, (sp)->role.word) \ ctf_integer(__u32, root_count, (sp)->root_count) \ ctf_integer(bool, unsync, (sp)->unsync) +#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */ + +#define LTTNG_KVM_MMU_PAGE_FIELDS \ + ctf_integer(__u64, gfn, (sp)->gfn) \ + ctf_integer(__u32, role, (sp)->role.word) \ + ctf_integer(__u32, root_count, (sp)->root_count) \ + ctf_integer(bool, unsync, (sp)->unsync) + +#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */ + /* * A pagetable walk has started */ @@ -117,6 +136,26 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_page_class, kvm_mmu_prepare_zap_page, TP_ARGS(sp) ) +#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) + +LTTNG_TRACEPOINT_EVENT_MAP( + mark_mmio_spte, + + kvm_mmu_mark_mmio_spte, + + TP_PROTO(u64 *sptep, gfn_t gfn, unsigned access, unsigned int gen), + TP_ARGS(sptep, gfn, access, gen), + + TP_FIELDS( + ctf_integer_hex(void *, sptep, sptep) + ctf_integer(gfn_t, gfn, gfn) + ctf_integer(unsigned, access, access) + ctf_integer(unsigned int, gen, gen) + ) +) + +#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */ + LTTNG_TRACEPOINT_EVENT_MAP( mark_mmio_spte, @@ -126,12 +165,14 @@ LTTNG_TRACEPOINT_EVENT_MAP( TP_ARGS(sptep, gfn, access), TP_FIELDS( - ctf_integer(void *, sptep, sptep) + ctf_integer_hex(void *, sptep, sptep) ctf_integer(gfn_t, gfn, gfn) ctf_integer(unsigned, access, access) ) ) +#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,11,0)) */ + LTTNG_TRACEPOINT_EVENT_MAP( handle_mmio_page_fault, @@ -160,7 +201,7 @@ LTTNG_TRACEPOINT_EVENT_MAP( ctf_integer(int, vcpu_id, vcpu->vcpu_id) ctf_integer(gva_t, gva, gva) ctf_integer(u32, error_code, error_code) - ctf_integer(u64 *, sptep, sptep) + ctf_integer_hex(u64 *, sptep, sptep) ctf_integer(u64, old_spte, old_spte) ctf_integer(u64, new_spte, *sptep) ctf_integer(bool, retry, retry) @@ -169,9 +210,9 @@ LTTNG_TRACEPOINT_EVENT_MAP( #endif /* LTTNG_TRACE_KVM_MMU_H */ #undef TRACE_INCLUDE_PATH -#define TRACE_INCLUDE_PATH ../instrumentation/events/lttng-module/arch/x86/kvm +#define TRACE_INCLUDE_PATH instrumentation/events/lttng-module/arch/x86/kvm #undef TRACE_INCLUDE_FILE #define TRACE_INCLUDE_FILE mmutrace /* This part must be outside protection */ -#include "../../../../../../probes/define_trace.h" +#include