c522aa7a976b3408e215deac30a9322cb8bb2c17
[lttng-modules.git] / instrumentation / events / lttng-module / arch / x86 / irq_vectors.h
1 #if !defined(LTTNG_TRACE_IRQ_VECTORS_H) || defined(TRACE_HEADER_MULTI_READ)
2 #define LTTNG_TRACE_IRQ_VECTORS_H
3
4 #include <probes/lttng-tracepoint-event.h>
5 #include <linux/version.h>
6
7 #undef TRACE_SYSTEM
8 #define TRACE_SYSTEM x86_irq_vectors
9
10 LTTNG_TRACEPOINT_EVENT_CLASS(x86_irq_vectors_vector_class,
11 TP_PROTO(int vector),
12 TP_ARGS(vector),
13
14 TP_FIELDS(
15 ctf_integer(int, vector, vector)
16 )
17 )
18
19 #define LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(name, map) \
20 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(x86_irq_vectors_vector_class, \
21 name##_entry, \
22 map##_entry, \
23 TP_PROTO(int vector), \
24 TP_ARGS(vector) \
25 ) \
26 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(x86_irq_vectors_vector_class, \
27 name##_exit, \
28 map##_exit, \
29 TP_PROTO(int vector), \
30 TP_ARGS(vector) \
31 )
32
33 /*
34 * local_timer - called when entering/exiting a local timer interrupt
35 * vector handler
36 */
37 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(local_timer,
38 x86_irq_vectors_local_timer)
39
40 /*
41 * reschedule - called when entering/exiting a reschedule vector handler
42 */
43 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(reschedule,
44 x86_irq_vectors_reschedule)
45
46 /*
47 * spurious_apic - called when entering/exiting a spurious apic vector handler
48 */
49 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(spurious_apic,
50 x86_irq_vectors_spurious_apic)
51
52 /*
53 * error_apic - called when entering/exiting an error apic vector handler
54 */
55 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(error_apic,
56 x86_irq_vectors_error_apic)
57
58 /*
59 * x86_platform_ipi - called when entering/exiting a x86 platform ipi interrupt
60 * vector handler
61 */
62 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(x86_platform_ipi,
63 x86_irq_vectors_ipi)
64
65 /*
66 * irq_work - called when entering/exiting a irq work interrupt
67 * vector handler
68 */
69 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(irq_work,
70 x86_irq_vectors_irq_work)
71
72 /*
73 * call_function - called when entering/exiting a call function interrupt
74 * vector handler
75 */
76 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(call_function,
77 x86_irq_vectors_call_function)
78
79 /*
80 * call_function_single - called when entering/exiting a call function
81 * single interrupt vector handler
82 */
83 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(call_function_single,
84 x86_irq_vectors_call_function_single)
85
86 /*
87 * threshold_apic - called when entering/exiting a threshold apic interrupt
88 * vector handler
89 */
90 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(threshold_apic,
91 x86_irq_vectors_threshold_apic)
92
93 /*
94 * deferred_error_apic - called when entering/exiting a deferred apic interrupt
95 * vector handler
96 */
97 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(deferred_error_apic,
98 x86_irq_vectors_deferred_error_apic)
99
100 /*
101 * thermal_apic - called when entering/exiting a thermal apic interrupt
102 * vector handler
103 */
104 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(thermal_apic,
105 x86_irq_vectors_thermal_apic)
106
107 #endif /* LTTNG_TRACE_IRQ_VECTORS_H */
108
109 #undef TRACE_INCLUDE_PATH
110 #define TRACE_INCLUDE_PATH instrumentation/events/lttng-module/arch/x86
111 #undef TRACE_INCLUDE_FILE
112 #define TRACE_INCLUDE_FILE irq_vectors
113
114 /* This part must be outside protection */
115 #include <probes/define_trace.h>
This page took 0.037015 seconds and 3 git commands to generate.