Fix: add RHEL version macros
[lttng-modules.git] / instrumentation / events / lttng-module / kvm.h
index ffdc2a62b3b0ca644452d03ff7f5af23e5e827b0..ff3283629a239e8739c92ae1a58fe95eb0c9465e 100644 (file)
@@ -7,9 +7,21 @@
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM kvm
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
+
 #define ERSN(x) { KVM_EXIT_##x, "KVM_EXIT_" #x }
 
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0))
+
+#define kvm_trace_exit_reason                                          \
+       ERSN(UNKNOWN), ERSN(EXCEPTION), ERSN(IO), ERSN(HYPERCALL),      \
+       ERSN(DEBUG), ERSN(HLT), ERSN(MMIO), ERSN(IRQ_WINDOW_OPEN),      \
+       ERSN(SHUTDOWN), ERSN(FAIL_ENTRY), ERSN(INTR), ERSN(SET_TPR),    \
+       ERSN(TPR_ACCESS), ERSN(S390_SIEIC), ERSN(S390_RESET), ERSN(DCR),\
+       ERSN(NMI), ERSN(INTERNAL_ERROR), ERSN(OSI), ERSN(PAPR_HCALL),   \
+       ERSN(S390_UCONTROL), ERSN(WATCHDOG), ERSN(S390_TSCH)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,0))
 
 #define kvm_trace_exit_reason                                          \
        ERSN(UNKNOWN), ERSN(EXCEPTION), ERSN(IO), ERSN(HYPERCALL),      \
@@ -50,8 +62,16 @@ TRACE_EVENT(kvm_userspace_exit,
                  __print_symbolic(__entry->reason, kvm_trace_exit_reason),
                  __entry->errno < 0 ? -__entry->errno : __entry->reason)
 )
+#endif
 
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,6,0))
 #if defined(__KVM_HAVE_IOAPIC)
+#undef __KVM_HAVE_IRQ_LINE
+#define __KVM_HAVE_IRQ_LINE
+#endif
+#endif
+
+#if defined(__KVM_HAVE_IRQ_LINE)
 TRACE_EVENT(kvm_set_irq,
        TP_PROTO(unsigned int gsi, int level, int irq_source_id),
        TP_ARGS(gsi, level, irq_source_id),
@@ -71,7 +91,9 @@ TRACE_EVENT(kvm_set_irq,
        TP_printk("gsi %u level %d source %d",
                  __entry->gsi, __entry->level, __entry->irq_source_id)
 )
+#endif
 
+#if defined(__KVM_HAVE_IOAPIC)
 #define kvm_deliver_mode               \
        {0x0, "Fixed"},                 \
        {0x1, "LowPrio"},               \
@@ -189,6 +211,8 @@ TRACE_EVENT(kvm_mmio,
                  __entry->len, __entry->gpa, __entry->val)
 )
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
+
 #define kvm_fpu_load_symbol    \
        {0, "unload"},          \
        {1, "load"}
@@ -229,6 +253,9 @@ TRACE_EVENT(kvm_age_page,
                  __entry->hva, __entry->gfn,
                  __entry->referenced ? "YOUNG" : "OLD")
 )
+#endif
+
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,38))
 
 #ifdef CONFIG_KVM_ASYNC_PF
 DECLARE_EVENT_CLASS(kvm_async_get_page_class,
@@ -298,6 +325,30 @@ DEFINE_EVENT(kvm_async_pf_nopresent_ready, kvm_async_pf_ready,
        TP_ARGS(token, gva)
 )
 
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0) \
+       || LTTNG_RHEL_KERNEL_RANGE(3,10,0,7,1, 3,11,0,0,0))
+
+TRACE_EVENT(
+       kvm_async_pf_completed,
+       TP_PROTO(unsigned long address, u64 gva),
+       TP_ARGS(address, gva),
+
+       TP_STRUCT__entry(
+               __field(unsigned long, address)
+               __field(u64, gva)
+               ),
+
+       TP_fast_assign(
+               tp_assign(address, address)
+               tp_assign(gva, gva)
+               ),
+
+       TP_printk("gva %#llx address %#lx",  __entry->gva,
+                 __entry->address)
+)
+
+#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)) */
+
 TRACE_EVENT(
        kvm_async_pf_completed,
        TP_PROTO(unsigned long address, struct page *page, u64 gva),
@@ -319,6 +370,10 @@ TRACE_EVENT(
                  __entry->address, __entry->pfn)
 )
 
+#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,13,0)) */
+
+#endif
+
 #endif
 
 #endif /* _TRACE_KVM_MAIN_H */
This page took 0.023961 seconds and 4 git commands to generate.