[lttng-dev] [PATCH lttng-modules] correctly version kvm events to build against v3.0 kernel
Tony Jones
tonyj at suse.de
Fri Feb 21 15:17:28 EST 2014
Cleanly build against v3.0 kernel. I didn't add versioning for mainline commit 0d460ffc as it's build compatible.
Signed-off-by: Tony Jones <tonyj at suse.de>
---
diff --git a/instrumentation/events/lttng-module/arch/x86/kvm/trace.h b/instrumentation/events/lttng-module/arch/x86/kvm/trace.h
index 5eec169..7fc1f9c 100644
--- a/instrumentation/events/lttng-module/arch/x86/kvm/trace.h
+++ b/instrumentation/events/lttng-module/arch/x86/kvm/trace.h
@@ -4,7 +4,9 @@
#include <linux/tracepoint.h>
#include <asm/vmx.h>
#include <asm/svm.h>
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
#include <asm/clocksource.h>
+#endif
#include <linux/version.h>
#include <../arch/x86/kvm/lapic.h>
#include <../arch/x86/kvm/kvm_cache_regs.h>
@@ -714,13 +716,23 @@ TRACE_EVENT(kvm_emulate_insn,
),
TP_fast_assign(
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0))
+ tp_assign(rip, vcpu->arch.emulate_ctxt.decode.fetch.start)
+ tp_assign(csbase, kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS))
+ tp_assign(len, vcpu->arch.emulate_ctxt.decode.eip
+ - vcpu->arch.emulate_ctxt.decode.fetch.start)
+ tp_memcpy(insn,
+ vcpu->arch.emulate_ctxt.decode.fetch.data,
+ 15)
+#else
tp_assign(rip, vcpu->arch.emulate_ctxt.fetch.start)
- tp_assign(csbase, kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS))
+ tp_assign(csbase, kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS))
tp_assign(len, vcpu->arch.emulate_ctxt._eip
- vcpu->arch.emulate_ctxt.fetch.start)
tp_memcpy(insn,
vcpu->arch.emulate_ctxt.fetch.data,
15)
+#endif
tp_assign(flags, kei_decode_mode(vcpu->arch.emulate_ctxt.mode))
tp_assign(failed, failed)
),
@@ -784,6 +796,7 @@ TRACE_EVENT(kvm_write_tsc_offset,
)
#endif
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0))
#ifdef CONFIG_X86_64
#define host_clocks \
@@ -844,6 +857,7 @@ TRACE_EVENT(kvm_track_tsc,
)
#endif /* CONFIG_X86_64 */
+#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0) */
#endif /* _TRACE_KVM_H */
More information about the lttng-dev
mailing list