hc
2023-12-09 b22da3d8526a935aa31e086e63f60ff3246cb61c
kernel/tools/perf/util/kvm-stat.h
....@@ -2,12 +2,15 @@
22 #ifndef __PERF_KVM_STAT_H
33 #define __PERF_KVM_STAT_H
44
5
-#include "../perf.h"
6
-#include "evsel.h"
7
-#include "evlist.h"
8
-#include "session.h"
5
+#ifdef HAVE_KVM_STAT_SUPPORT
6
+
97 #include "tool.h"
108 #include "stat.h"
9
+#include "record.h"
10
+
11
+struct evsel;
12
+struct evlist;
13
+struct perf_session;
1114
1215 struct event_key {
1316 #define INVALID_KEY (~0ULL)
....@@ -44,17 +47,17 @@
4447 struct perf_kvm_stat;
4548
4649 struct child_event_ops {
47
- void (*get_key)(struct perf_evsel *evsel,
50
+ void (*get_key)(struct evsel *evsel,
4851 struct perf_sample *sample,
4952 struct event_key *key);
5053 const char *name;
5154 };
5255
5356 struct kvm_events_ops {
54
- bool (*is_begin_event)(struct perf_evsel *evsel,
57
+ bool (*is_begin_event)(struct evsel *evsel,
5558 struct perf_sample *sample,
5659 struct event_key *key);
57
- bool (*is_end_event)(struct perf_evsel *evsel,
60
+ bool (*is_end_event)(struct evsel *evsel,
5861 struct perf_sample *sample, struct event_key *key);
5962 struct child_event_ops *child_ops;
6063 void (*decode_key)(struct perf_kvm_stat *kvm, struct event_key *key,
....@@ -73,7 +76,7 @@
7376 struct perf_kvm_stat {
7477 struct perf_tool tool;
7578 struct record_opts opts;
76
- struct perf_evlist *evlist;
79
+ struct evlist *evlist;
7780 struct perf_session *session;
7881
7982 const char *file_name;
....@@ -108,21 +111,21 @@
108111 struct kvm_events_ops *ops;
109112 };
110113
111
-void exit_event_get_key(struct perf_evsel *evsel,
114
+void exit_event_get_key(struct evsel *evsel,
112115 struct perf_sample *sample,
113116 struct event_key *key);
114
-bool exit_event_begin(struct perf_evsel *evsel,
117
+bool exit_event_begin(struct evsel *evsel,
115118 struct perf_sample *sample,
116119 struct event_key *key);
117
-bool exit_event_end(struct perf_evsel *evsel,
120
+bool exit_event_end(struct evsel *evsel,
118121 struct perf_sample *sample,
119122 struct event_key *key);
120123 void exit_event_decode_key(struct perf_kvm_stat *kvm,
121124 struct event_key *key,
122125 char *decode);
123126
124
-bool kvm_exit_event(struct perf_evsel *evsel);
125
-bool kvm_entry_event(struct perf_evsel *evsel);
127
+bool kvm_exit_event(struct evsel *evsel);
128
+bool kvm_entry_event(struct evsel *evsel);
126129 int setup_kvm_events_tp(struct perf_kvm_stat *kvm);
127130
128131 #define define_exit_reasons_table(name, symbols) \
....@@ -143,5 +146,7 @@
143146 extern const char *kvm_exit_reason;
144147 extern const char *kvm_entry_trace;
145148 extern const char *kvm_exit_trace;
149
+#endif /* HAVE_KVM_STAT_SUPPORT */
146150
151
+extern int kvm_add_default_arch_event(int *argc, const char **argv);
147152 #endif /* __PERF_KVM_STAT_H */