X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=include%2Finstrumentation%2Fevents%2Farch%2Fx86%2Fexceptions.h;h=89769e2ce3de7dd98ffd17fc54e181cb7b2b77ba;hb=f00168b56ad642e0369c03b8cd730be85dc46188;hp=3c124638ec7c45847472ccc050b08c3f2d5eef00;hpb=8c7f2a9f2732b11f5cc9798cecb621420cc0e972;p=lttng-modules.git diff --git a/include/instrumentation/events/arch/x86/exceptions.h b/include/instrumentation/events/arch/x86/exceptions.h index 3c124638..89769e2c 100644 --- a/include/instrumentation/events/arch/x86/exceptions.h +++ b/include/instrumentation/events/arch/x86/exceptions.h @@ -3,11 +3,12 @@ #define LTTNG_TRACE_EXCEPTIONS_H #include -#include +#include -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) +#ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,15,0)) #include <../arch/x86/include/asm/traps.h> -#else /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) */ +#else /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,15,0)) */ /* Only define this enum once. */ @@ -20,18 +21,20 @@ enum { X86_PF_USER = 1 << 2, X86_PF_RSVD = 1 << 3, X86_PF_INSTR = 1 << 4, -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0)) X86_PF_PK = 1 << 5, -#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)) */ +#endif /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0)) */ }; #endif /* ONCE_LTTNG_EXCEPTIONS_H */ -#endif /* #else #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0)) */ +#endif /* #else #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,15,0)) */ +#endif /* CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM */ #undef TRACE_SYSTEM #define TRACE_SYSTEM x86_exceptions +#ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM LTTNG_TRACEPOINT_ENUM(lttng_x86_pf_error_code, TP_ENUM_VALUES( ctf_enum_value("PROTECTION_FAULT", X86_PF_PROT) @@ -39,11 +42,12 @@ LTTNG_TRACEPOINT_ENUM(lttng_x86_pf_error_code, ctf_enum_value("USER_MODE", X86_PF_USER) ctf_enum_value("RESERVED_BIT", X86_PF_RSVD) ctf_enum_value("INSTRUCTION_FETCH", X86_PF_INSTR) -#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)) +#if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0)) ctf_enum_value("PROTECTION_KEYS_BLOCK", X86_PF_PK) -#endif /* #if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)) */ +#endif /* #if (LTTNG_LINUX_VERSION_CODE >= LTTNG_KERNEL_VERSION(4,6,0)) */ ) ) +#endif /* CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM */ LTTNG_TRACEPOINT_EVENT_CLASS(x86_exceptions_class, @@ -61,7 +65,11 @@ LTTNG_TRACEPOINT_EVENT_CLASS(x86_exceptions_class, * Currently, only 5 low bits are used. Should be made * larger if error codes are added to the kernel. */ +#ifdef CONFIG_LTTNG_EXPERIMENTAL_BITWISE_ENUM ctf_enum(lttng_x86_pf_error_code, unsigned char, error_code, error_code) +#else + ctf_integer_hex(unsigned char, error_code, error_code) +#endif ) )