Fix: build kvm probe on EL 8.4+
authorKienan Stewart <kstewart@efficios.com>
Fri, 22 Mar 2024 13:28:08 +0000 (09:28 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 26 Mar 2024 18:19:11 +0000 (14:19 -0400)
The lower value of the EL range, 240.15.1, corresponds to the first
import of EL r8 kernels into Rocky Linux's kernel staging repo.
The change may have been introduced in an earlier RHEL 8 kernel,
prior to the history of imports into Rocky.

Change-Id: Icefe472d43e28cc09746e9e046b12299609ebab1
Signed-off-by: Kienan Stewart <kstewart@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/instrumentation/events/arch/x86/kvm/mmutrace.h
include/instrumentation/events/arch/x86/kvm/trace.h
src/probes/Kbuild
src/probes/lttng-probe-kvm-x86-mmu.c
src/probes/lttng-probe-kvm-x86.c

index e20cda20560a68dd4d7587f34ee441a9240f34fb..65b67cf496d8f31d8347ed014eaf8876cb9714ea 100644 (file)
@@ -163,7 +163,8 @@ LTTNG_TRACEPOINT_EVENT_INSTANCE(kvm_mmu_page_class, kvm_mmu_prepare_zap_page,
        TP_ARGS(sp)
 )
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
 
 LTTNG_TRACEPOINT_EVENT_MAP(
        mark_mmio_spte,
@@ -253,7 +254,8 @@ LTTNG_TRACEPOINT_EVENT_MAP(
                ctf_integer(int, ret, ret)
        )
 )
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT_MAP(
        fast_page_fault,
 
index 0d6c4e3319361e4c9823e0d18da36ff148d0fdac..d773674ea83369074a5cc769b35e5af269dcaedc 100644 (file)
@@ -181,7 +181,8 @@ LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
 
        TP_code_post()
 )
-#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
+#elif (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,240,0,0, 4,19,0,0,0,0))
 LTTNG_TRACEPOINT_EVENT_CODE_MAP(kvm_exit, kvm_x86_exit,
        TP_PROTO(unsigned int exit_reason, struct kvm_vcpu *vcpu, u32 isa),
        TP_ARGS(exit_reason, vcpu, isa),
@@ -560,7 +561,8 @@ LTTNG_TRACEPOINT_EVENT_MAP(kvm_emulate_insn, kvm_x86_emulate_insn,
                                - vcpu->arch.emulate_ctxt.fetch.start)
                ctf_array(__u8, insn, vcpu->arch.emulate_ctxt.fetch.data, 15)
                ctf_integer(__u8, flags, kei_decode_mode(vcpu->arch.emulate_ctxt.mode))
-#elif (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(5,7,0))
+#elif (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(5,7,0) && \
+       !LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
                ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt._eip -
                                (vcpu->arch.emulate_ctxt.fetch.ptr -
                                        vcpu->arch.emulate_ctxt.fetch.data))
@@ -569,7 +571,8 @@ LTTNG_TRACEPOINT_EVENT_MAP(kvm_emulate_insn, kvm_x86_emulate_insn,
                                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))
-#elif (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(5,18,0))
+#elif (LTTNG_LINUX_VERSION_CODE < LTTNG_KERNEL_VERSION(5,18,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
                ctf_integer(__u64, rip, vcpu->arch.emulate_ctxt->_eip -
                                (vcpu->arch.emulate_ctxt->fetch.ptr -
                                        vcpu->arch.emulate_ctxt->fetch.data))
index f8e6e8bd05b8883b6b22620c26fcd5fe2f3ee87e..980af2a84152faddbfe252a1302c75ee6a14654c 100644 (file)
@@ -59,7 +59,8 @@ ifneq ($(CONFIG_KVM),)
           kvm_dep_emulate_wildcard = $(wildcard $(kvm_dep_emulate))
           kvm_dep_emulate_check = $(shell \
           if [ \( $(VERSION) -ge 6 \
-             -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -eq 7 \) \) -a \
+             -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -eq 7 \) \
+             -o \( $(VERSION) -eq 4 -a $(PATCHLEVEL) -eq 18 -a $(RHEL_API_VERSION) -ge 2400000 \) \) -a \
              -z "$(kvm_dep_emulate_wildcard)" ] ; then \
             echo "warn" ; \
           else \
index 37a5aed300c74a15dd09817c4013fe8abf708bfe..05611ff201504a85748db8e7790ebe6bb33ffe2b 100644 (file)
  */
 #include <wrapper/tracepoint.h>
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,9,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
 #include <../../arch/x86/kvm/mmu/mmu_internal.h>
 #include <../../arch/x86/kvm/mmu/mmutrace.h>
 #else
 #include <../../arch/x86/kvm/mmutrace.h>
 #endif
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,10,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,305,0,0, 4,19,0,0,0,0))
 #include <../arch/x86/kvm/mmu.h>
 #include <../arch/x86/kvm/mmu/spte.h>
 #endif
index 05cbba58249dbbcab70533f60c26cc7edc6ace89..88f1918a8f7a0301e6c75848e10bbe8c4d37b05b 100644 (file)
@@ -12,7 +12,8 @@
 #include <lttng/tracer.h>
 #include <lttng/kernel-version.h>
 
-#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,7,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(5,7,0) || \
+       LTTNG_RHEL_KERNEL_RANGE(4,18,0,240,15,1, 4,19,0,0,0,0))
 #include <kvm_emulate.h>
 #endif
 
This page took 0.028927 seconds and 4 git commands to generate.