instrumentation: update x86 kvm instrumentation for kernel >= 5.7.0
[lttng-modules.git] / instrumentation / events / lttng-module / arch / x86 / kvm / trace.h
index 57ac7f488f472083e6f6e7c5aca729c0c600a7fc..0969d32a9f94ee8bef74c4d41918b5ecad2a78d0 100644 (file)
@@ -1,4 +1,4 @@
-/* SPDX-License-Identifier: GPL-2.0 */
+/* SPDX-License-Identifier: GPL-2.0-only */
 #if !defined(LTTNG_TRACE_KVM_H) || defined(TRACE_HEADER_MULTI_READ)
 #define LTTNG_TRACE_KVM_H
 
@@ -124,8 +124,13 @@ LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
        ),
 
        TP_code_pre(
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,7,0))
+               kvm_x86_ops.get_exit_info(vcpu, &tp_locvar->info1,
+                               &tp_locvar->info2);
+#else
                kvm_x86_ops->get_exit_info(vcpu, &tp_locvar->info1,
                                &tp_locvar->info2);
+#endif
        ),
 
        TP_FIELDS(
@@ -173,7 +178,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(kvm_page_fault, kvm_x86_page_fault,
        TP_ARGS(fault_address, error_code),
 
        TP_FIELDS(
-               ctf_integer(unsigned long, fault_address, fault_address)
+               ctf_integer_hex(unsigned long, fault_address, fault_address)
                ctf_integer(unsigned int, error_code, error_code)
        )
 )
@@ -363,7 +368,7 @@ LTTNG_TRACEPOINT_EVENT_MAP(kvm_invlpga, kvm_x86_invlpga,
        TP_FIELDS(
                ctf_integer(__u64, rip, rip)
                ctf_integer(int, asid, asid)
-               ctf_integer(__u64, address, address)
+               ctf_integer_hex(__u64, address, address)
        )
 )
 
@@ -430,13 +435,15 @@ LTTNG_TRACEPOINT_EVENT_MAP(kvm_emulate_insn, kvm_x86_emulate_insn,
                ctf_integer(__u8, len, vcpu->arch.emulate_ctxt.decode.eip
                                - vcpu->arch.emulate_ctxt.decode.fetch.start)
                ctf_array(__u8, insn, vcpu->arch.emulate_ctxt.decode.fetch.data, 15)
+               ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt.mode))
 #elif (LINUX_VERSION_CODE < KERNEL_VERSION(3,17,0))
                ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt.fetch.start)
                ctf_integer(__u32, csbase, kvm_x86_ops->get_segment_base(vcpu, VCPU_SREG_CS))
                ctf_integer(__u8, len, vcpu->arch.emulate_ctxt._eip
                                - vcpu->arch.emulate_ctxt.fetch.start)
                ctf_array(__u8, insn, vcpu->arch.emulate_ctxt.fetch.data, 15)
-#else
+               ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt.mode))
+#elif (LINUX_VERSION_CODE < KERNEL_VERSION(5,7,0))
                ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt._eip -
                                (vcpu->arch.emulate_ctxt.fetch.ptr -
                                        vcpu->arch.emulate_ctxt.fetch.data))
@@ -444,8 +451,17 @@ LTTNG_TRACEPOINT_EVENT_MAP(kvm_emulate_insn, kvm_x86_emulate_insn,
                ctf_integer(__u8, len, vcpu->arch.emulate_ctxt.fetch.ptr -
                                vcpu->arch.emulate_ctxt.fetch.data)
                ctf_array(__u8, insn, vcpu->arch.emulate_ctxt.fetch.data, 15)
-#endif
                ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt.mode))
+#else
+               ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt->_eip -
+                               (vcpu->arch.emulate_ctxt->fetch.ptr -
+                                       vcpu->arch.emulate_ctxt->fetch.data))
+               ctf_integer(__u32, csbase, kvm_x86_ops.get_segment_base(vcpu, VCPU_SREG_CS))
+               ctf_integer(__u8, len, vcpu->arch.emulate_ctxt->fetch.ptr -
+                               vcpu->arch.emulate_ctxt->fetch.data)
+               ctf_array(__u8, insn, vcpu->arch.emulate_ctxt->fetch.data, 15)
+               ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt->mode))
+#endif
                ctf_integer(__u8, failed, failed)
        )
 )
This page took 0.024906 seconds and 4 git commands to generate.