]>
Commit | Line | Data |
---|---|---|
d1898b73 DH |
1 | #undef TRACE_SYSTEM |
2 | #define TRACE_SYSTEM x86_fpu | |
3 | ||
4 | #if !defined(_TRACE_FPU_H) || defined(TRACE_HEADER_MULTI_READ) | |
5 | #define _TRACE_FPU_H | |
6 | ||
7 | #include <linux/tracepoint.h> | |
8 | ||
9 | DECLARE_EVENT_CLASS(x86_fpu, | |
10 | TP_PROTO(struct fpu *fpu), | |
11 | TP_ARGS(fpu), | |
12 | ||
13 | TP_STRUCT__entry( | |
14 | __field(struct fpu *, fpu) | |
e4a81bfc | 15 | __field(bool, initialized) |
d1898b73 DH |
16 | __field(u64, xfeatures) |
17 | __field(u64, xcomp_bv) | |
18 | ), | |
19 | ||
20 | TP_fast_assign( | |
21 | __entry->fpu = fpu; | |
e4a81bfc | 22 | __entry->initialized = fpu->initialized; |
d1898b73 DH |
23 | if (boot_cpu_has(X86_FEATURE_OSXSAVE)) { |
24 | __entry->xfeatures = fpu->state.xsave.header.xfeatures; | |
25 | __entry->xcomp_bv = fpu->state.xsave.header.xcomp_bv; | |
26 | } | |
27 | ), | |
e4a81bfc | 28 | TP_printk("x86/fpu: %p initialized: %d xfeatures: %llx xcomp_bv: %llx", |
d1898b73 | 29 | __entry->fpu, |
e4a81bfc | 30 | __entry->initialized, |
d1898b73 DH |
31 | __entry->xfeatures, |
32 | __entry->xcomp_bv | |
33 | ) | |
34 | ); | |
35 | ||
d1898b73 DH |
36 | DEFINE_EVENT(x86_fpu, x86_fpu_before_save, |
37 | TP_PROTO(struct fpu *fpu), | |
38 | TP_ARGS(fpu) | |
39 | ); | |
40 | ||
41 | DEFINE_EVENT(x86_fpu, x86_fpu_after_save, | |
42 | TP_PROTO(struct fpu *fpu), | |
43 | TP_ARGS(fpu) | |
44 | ); | |
45 | ||
46 | DEFINE_EVENT(x86_fpu, x86_fpu_before_restore, | |
47 | TP_PROTO(struct fpu *fpu), | |
48 | TP_ARGS(fpu) | |
49 | ); | |
50 | ||
51 | DEFINE_EVENT(x86_fpu, x86_fpu_after_restore, | |
52 | TP_PROTO(struct fpu *fpu), | |
53 | TP_ARGS(fpu) | |
54 | ); | |
55 | ||
56 | DEFINE_EVENT(x86_fpu, x86_fpu_regs_activated, | |
57 | TP_PROTO(struct fpu *fpu), | |
58 | TP_ARGS(fpu) | |
59 | ); | |
60 | ||
61 | DEFINE_EVENT(x86_fpu, x86_fpu_regs_deactivated, | |
62 | TP_PROTO(struct fpu *fpu), | |
63 | TP_ARGS(fpu) | |
64 | ); | |
65 | ||
66 | DEFINE_EVENT(x86_fpu, x86_fpu_activate_state, | |
67 | TP_PROTO(struct fpu *fpu), | |
68 | TP_ARGS(fpu) | |
69 | ); | |
70 | ||
d1898b73 DH |
71 | DEFINE_EVENT(x86_fpu, x86_fpu_init_state, |
72 | TP_PROTO(struct fpu *fpu), | |
73 | TP_ARGS(fpu) | |
74 | ); | |
75 | ||
76 | DEFINE_EVENT(x86_fpu, x86_fpu_dropped, | |
77 | TP_PROTO(struct fpu *fpu), | |
78 | TP_ARGS(fpu) | |
79 | ); | |
80 | ||
81 | DEFINE_EVENT(x86_fpu, x86_fpu_copy_src, | |
82 | TP_PROTO(struct fpu *fpu), | |
83 | TP_ARGS(fpu) | |
84 | ); | |
85 | ||
86 | DEFINE_EVENT(x86_fpu, x86_fpu_copy_dst, | |
87 | TP_PROTO(struct fpu *fpu), | |
88 | TP_ARGS(fpu) | |
89 | ); | |
90 | ||
91 | DEFINE_EVENT(x86_fpu, x86_fpu_xstate_check_failed, | |
92 | TP_PROTO(struct fpu *fpu), | |
93 | TP_ARGS(fpu) | |
94 | ); | |
95 | ||
96 | #undef TRACE_INCLUDE_PATH | |
97 | #define TRACE_INCLUDE_PATH asm/trace/ | |
98 | #undef TRACE_INCLUDE_FILE | |
99 | #define TRACE_INCLUDE_FILE fpu | |
100 | #endif /* _TRACE_FPU_H */ | |
101 | ||
102 | /* This part must be outside protection */ | |
103 | #include <trace/define_trace.h> |