Namespace kernel version macros
[lttng-modules.git] / include / instrumentation / events / module.h
index 5831650b6f987b2a10b58db0bcef52b36b22f5bd..06b20c64ae1291bddb7b92ca7156da360961e838 100644 (file)
@@ -16,7 +16,8 @@
 #define LTTNG_TRACE_MODULE_H
 
 #include <lttng/tracepoint-event.h>
-#include <linux/version.h>
+#include <lttng/kernel-version.h>
+#include <linux/kernel.h>
 
 #ifdef CONFIG_MODULES
 
@@ -26,6 +27,45 @@ struct module;
 
 #endif
 
+LTTNG_TRACEPOINT_ENUM(taint,
+       TP_ENUM_VALUES(
+               ctf_enum_value("PROPRIETARY_MODULE", 1UL << TAINT_PROPRIETARY_MODULE)
+               ctf_enum_value("FORCED_MODULE", 1UL << TAINT_FORCED_MODULE)
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0))
+               ctf_enum_value("CPU_OUT_OF_SPEC", 1UL << TAINT_CPU_OUT_OF_SPEC)
+#else
+               ctf_enum_value("UNSAFE_SMP", 1UL << TAINT_UNSAFE_SMP)
+#endif
+               ctf_enum_value("FORCED_RMMOD", 1UL << TAINT_FORCED_RMMOD)
+               ctf_enum_value("MACHINE_CHECK", 1UL << TAINT_MACHINE_CHECK)
+               ctf_enum_value("BAD_PAGE", 1UL << TAINT_BAD_PAGE)
+               ctf_enum_value("USER", 1UL << TAINT_USER)
+               ctf_enum_value("DIE", 1UL << TAINT_DIE)
+               ctf_enum_value("OVERRIDDEN_ACPI_TABLE", 1UL << TAINT_OVERRIDDEN_ACPI_TABLE)
+               ctf_enum_value("WARN", 1UL << TAINT_WARN)
+               ctf_enum_value("CRAP", 1UL << TAINT_CRAP)
+               ctf_enum_value("FIRMWARE_WORKAROUND", 1UL << TAINT_FIRMWARE_WORKAROUND)
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,2,0))
+               ctf_enum_value("OOT_MODULE", 1UL << TAINT_OOT_MODULE)
+#endif
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,15,0))
+               ctf_enum_value("UNSIGNED_MODULE", 1UL << TAINT_UNSIGNED_MODULE)
+#endif
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,17,0))
+               ctf_enum_value("SOFTLOCKUP", 1UL << TAINT_SOFTLOCKUP)
+#endif
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,0,0))
+               ctf_enum_value("LIVEPATCH", 1UL << TAINT_LIVEPATCH)
+#endif
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,15,0))
+               ctf_enum_value("AUX", 1UL << TAINT_AUX)
+#endif
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,17,0))
+               ctf_enum_value("RANDSTRUCT", 1UL << TAINT_RANDSTRUCT)
+#endif
+       )
+)
+
 LTTNG_TRACEPOINT_EVENT(module_load,
 
        TP_PROTO(struct module *mod),
@@ -33,7 +73,7 @@ LTTNG_TRACEPOINT_EVENT(module_load,
        TP_ARGS(mod),
 
        TP_FIELDS(
-               ctf_integer(unsigned int, taints, mod->taints)
+               ctf_enum(taint, unsigned int, taints, mod->taints)
                ctf_string(name, mod->name)
        )
 )
@@ -60,7 +100,7 @@ LTTNG_TRACEPOINT_EVENT_CLASS(module_refcnt,
 
        TP_FIELDS(
                ctf_integer_hex(unsigned long, ip, ip)
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0))
+#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(3,19,0))
                ctf_integer(int, refcnt, atomic_read(&mod->refcnt))
 #else
                ctf_integer(int, refcnt, __this_cpu_read(mod->refptr->incs) + __this_cpu_read(mod->refptr->decs))
This page took 0.02424 seconds and 4 git commands to generate.