1 /* SPDX-License-Identifier: GPL-2.0 */
2 #if !defined(LTTNG_TRACE_IRQ_VECTORS_H) || defined(TRACE_HEADER_MULTI_READ)
3 #define LTTNG_TRACE_IRQ_VECTORS_H
5 #include <probes/lttng-tracepoint-event.h>
6 #include <linux/version.h>
9 #define TRACE_SYSTEM x86_irq_vectors
11 LTTNG_TRACEPOINT_EVENT_CLASS(x86_irq_vectors_vector_class
,
16 ctf_integer(int, vector
, vector
)
20 #define LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(name, map) \
21 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(x86_irq_vectors_vector_class, \
24 TP_PROTO(int vector), \
27 LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(x86_irq_vectors_vector_class, \
30 TP_PROTO(int vector), \
35 * local_timer - called when entering/exiting a local timer interrupt
38 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(local_timer
,
39 x86_irq_vectors_local_timer
)
42 * reschedule - called when entering/exiting a reschedule vector handler
44 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(reschedule
,
45 x86_irq_vectors_reschedule
)
48 * spurious_apic - called when entering/exiting a spurious apic vector handler
50 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(spurious_apic
,
51 x86_irq_vectors_spurious_apic
)
54 * error_apic - called when entering/exiting an error apic vector handler
56 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(error_apic
,
57 x86_irq_vectors_error_apic
)
60 * x86_platform_ipi - called when entering/exiting a x86 platform ipi interrupt
63 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(x86_platform_ipi
,
67 * irq_work - called when entering/exiting a irq work interrupt
70 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(irq_work
,
71 x86_irq_vectors_irq_work
)
74 * call_function - called when entering/exiting a call function interrupt
77 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(call_function
,
78 x86_irq_vectors_call_function
)
81 * call_function_single - called when entering/exiting a call function
82 * single interrupt vector handler
84 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(call_function_single
,
85 x86_irq_vectors_call_function_single
)
88 * threshold_apic - called when entering/exiting a threshold apic interrupt
91 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(threshold_apic
,
92 x86_irq_vectors_threshold_apic
)
95 * deferred_error_apic - called when entering/exiting a deferred apic interrupt
98 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(deferred_error_apic
,
99 x86_irq_vectors_deferred_error_apic
)
102 * thermal_apic - called when entering/exiting a thermal apic interrupt
105 LTTNG_IRQ_VECTOR_TRACEPOINT_EVENT_INSTANCE_MAP(thermal_apic
,
106 x86_irq_vectors_thermal_apic
)
108 #endif /* LTTNG_TRACE_IRQ_VECTORS_H */
110 #undef TRACE_INCLUDE_PATH
111 #define TRACE_INCLUDE_PATH instrumentation/events/lttng-module/arch/x86
112 #undef TRACE_INCLUDE_FILE
113 #define TRACE_INCLUDE_FILE irq_vectors
115 /* This part must be outside protection */
116 #include <probes/define_trace.h>