Commit | Line | Data |
---|---|---|
b87700e3 AG |
1 | #undef TRACE_SYSTEM |
2 | #define TRACE_SYSTEM printk | |
3 | ||
3bc29f0a MD |
4 | #if !defined(LTTNG_TRACE_PRINTK_H) || defined(TRACE_HEADER_MULTI_READ) |
5 | #define LTTNG_TRACE_PRINTK_H | |
b87700e3 | 6 | |
3bc29f0a | 7 | #include "../../../probes/lttng-tracepoint-event.h" |
b87700e3 AG |
8 | #include <linux/version.h> |
9 | ||
68ed2ee0 MD |
10 | #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0)) |
11 | ||
9bbf98da MD |
12 | LTTNG_TRACEPOINT_EVENT_MAP(console, |
13 | ||
14 | printk_console, | |
15 | ||
68ed2ee0 MD |
16 | TP_PROTO(const char *text, size_t len), |
17 | ||
18 | TP_ARGS(text, len), | |
19 | ||
f127e61e MD |
20 | TP_FIELDS( |
21 | ctf_sequence_text(char, msg, text, size_t, len) | |
22 | ) | |
68ed2ee0 MD |
23 | ) |
24 | ||
25 | #elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3,5,0)) | |
b87700e3 | 26 | |
9bbf98da MD |
27 | LTTNG_TRACEPOINT_EVENT_CONDITION_MAP(console, |
28 | ||
29 | printk_console, | |
30 | ||
b87700e3 AG |
31 | TP_PROTO(const char *log_buf, unsigned start, unsigned end, |
32 | unsigned log_buf_len), | |
33 | ||
34 | TP_ARGS(log_buf, start, end, log_buf_len), | |
35 | ||
36 | TP_CONDITION(start != end), | |
37 | ||
f127e61e MD |
38 | TP_FIELDS( |
39 | ctf_sequence_text(char, msg, log_buf + start, | |
40 | size_t, end - start) | |
41 | ) | |
68ed2ee0 MD |
42 | ) |
43 | ||
44 | #else /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,5,0)) */ | |
45 | ||
9bbf98da MD |
46 | LTTNG_TRACEPOINT_EVENT_CONDITION_MAP(console, |
47 | ||
48 | printk_console, | |
49 | ||
68ed2ee0 MD |
50 | TP_PROTO(const char *log_buf, unsigned start, unsigned end, |
51 | unsigned log_buf_len), | |
52 | ||
53 | TP_ARGS(log_buf, start, end, log_buf_len), | |
54 | ||
55 | TP_CONDITION(start != end), | |
56 | ||
f127e61e MD |
57 | TP_FIELDS( |
58 | /* | |
59 | * printk buffer is gathered from two segments on older kernels. | |
60 | */ | |
61 | ctf_sequence_text(char, msg1, | |
62 | log_buf + (start & (log_buf_len - 1)), | |
63 | size_t, (start & (log_buf_len - 1)) > (end & (log_buf_len - 1)) | |
68ed2ee0 | 64 | ? log_buf_len - (start & (log_buf_len - 1)) |
f127e61e MD |
65 | : end - start) |
66 | ctf_sequence_text(char, msg2, | |
67 | log_buf, | |
68 | size_t, (start & (log_buf_len - 1)) > (end & (log_buf_len - 1)) | |
68ed2ee0 MD |
69 | ? end & (log_buf_len - 1) |
70 | : 0) | |
f127e61e | 71 | ) |
b87700e3 | 72 | ) |
68ed2ee0 MD |
73 | |
74 | #endif | |
75 | ||
3bc29f0a | 76 | #endif /* LTTNG_TRACE_PRINTK_H */ |
b87700e3 AG |
77 | |
78 | /* This part must be outside protection */ | |
79 | #include "../../../probes/define_trace.h" |