Fix: update kvm instrumentation for SLES12 SP2 LTSS >= 4.4.121-92.92
[lttng-modules.git] / instrumentation / events / lttng-module / kvm.h
index a8b3e9a04ded477db0339a25323bab609c1c842f..62030fcc87c2da6d8fa8796721601f91366d9d9e 100644 (file)
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: GPL-2.0 */
 #if !defined(LTTNG_TRACE_KVM_MAIN_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_KVM_MAIN_H
 
@@ -84,6 +85,10 @@ LTTNG_TRACEPOINT_EVENT(kvm_ack_irq,
        { KVM_TRACE_MMIO_READ, "read" }, \
        { KVM_TRACE_MMIO_WRITE, "write" }
 
+
+#if (LTTNG_SLE_KERNEL_RANGE(4,4,121,92,92,0, 4,4,122,0,0,0) \
+       || LTTNG_SLE_KERNEL_RANGE(4,4,131,94,0,0, 4,5,0,0,0,0))
+
 LTTNG_TRACEPOINT_EVENT(kvm_mmio,
        TP_PROTO(int type, int len, u64 gpa, u64 val),
        TP_ARGS(type, len, gpa, val),
@@ -96,6 +101,47 @@ LTTNG_TRACEPOINT_EVENT(kvm_mmio,
        )
 )
 
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) \
+       || LTTNG_KERNEL_RANGE(4,14,14, 4,15,0) \
+       || LTTNG_DEBIAN_KERNEL_RANGE(4,14,13,0,1,0, 4,15,0,0,0,0) \
+       || LTTNG_KERNEL_RANGE(4,9,77, 4,10,0) \
+       || LTTNG_KERNEL_RANGE(4,4,112, 4,5,0) \
+       || LTTNG_KERNEL_RANGE(4,1,50, 4,2,0) \
+       || LTTNG_KERNEL_RANGE(3,16,52, 3,17,0) \
+       || LTTNG_UBUNTU_KERNEL_RANGE(3,13,11,144, 3,14,0,0) \
+       || LTTNG_KERNEL_RANGE(3,2,97, 3,3,0) \
+       || LTTNG_UBUNTU_KERNEL_RANGE(4,13,16,38, 4,14,0,0) \
+       || LTTNG_DEBIAN_KERNEL_RANGE(4,9,65,0,3,0, 4,10,0,0,0,0) \
+       || LTTNG_FEDORA_KERNEL_RANGE(4,14,13,300, 4,15,0,0))
+
+LTTNG_TRACEPOINT_EVENT(kvm_mmio,
+       TP_PROTO(int type, int len, u64 gpa, void *val),
+       TP_ARGS(type, len, gpa, val),
+
+       TP_FIELDS(
+               ctf_integer(u32, type, type)
+               ctf_integer(u32, len, len)
+               ctf_integer(u64, gpa, gpa)
+               ctf_sequence_hex(unsigned char, val, val, u32, len)
+       )
+)
+
+#else
+
+LTTNG_TRACEPOINT_EVENT(kvm_mmio,
+       TP_PROTO(int type, int len, u64 gpa, u64 val),
+       TP_ARGS(type, len, gpa, val),
+
+       TP_FIELDS(
+               ctf_integer(u32, type, type)
+               ctf_integer(u32, len, len)
+               ctf_integer(u64, gpa, gpa)
+               ctf_integer(u64, val, val)
+       )
+)
+
+#endif
+
 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,34))
 
 #define kvm_fpu_load_symbol    \
This page took 0.022947 seconds and 4 git commands to generate.