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