| .. | .. |
|---|
| 2 | 2 | #ifndef __PERF_KVM_STAT_H |
|---|
| 3 | 3 | #define __PERF_KVM_STAT_H |
|---|
| 4 | 4 | |
|---|
| 5 | | -#include "../perf.h" |
|---|
| 6 | | -#include "evsel.h" |
|---|
| 7 | | -#include "evlist.h" |
|---|
| 8 | | -#include "session.h" |
|---|
| 5 | +#ifdef HAVE_KVM_STAT_SUPPORT |
|---|
| 6 | + |
|---|
| 9 | 7 | #include "tool.h" |
|---|
| 10 | 8 | #include "stat.h" |
|---|
| 9 | +#include "record.h" |
|---|
| 10 | + |
|---|
| 11 | +struct evsel; |
|---|
| 12 | +struct evlist; |
|---|
| 13 | +struct perf_session; |
|---|
| 11 | 14 | |
|---|
| 12 | 15 | struct event_key { |
|---|
| 13 | 16 | #define INVALID_KEY (~0ULL) |
|---|
| .. | .. |
|---|
| 44 | 47 | struct perf_kvm_stat; |
|---|
| 45 | 48 | |
|---|
| 46 | 49 | struct child_event_ops { |
|---|
| 47 | | - void (*get_key)(struct perf_evsel *evsel, |
|---|
| 50 | + void (*get_key)(struct evsel *evsel, |
|---|
| 48 | 51 | struct perf_sample *sample, |
|---|
| 49 | 52 | struct event_key *key); |
|---|
| 50 | 53 | const char *name; |
|---|
| 51 | 54 | }; |
|---|
| 52 | 55 | |
|---|
| 53 | 56 | struct kvm_events_ops { |
|---|
| 54 | | - bool (*is_begin_event)(struct perf_evsel *evsel, |
|---|
| 57 | + bool (*is_begin_event)(struct evsel *evsel, |
|---|
| 55 | 58 | struct perf_sample *sample, |
|---|
| 56 | 59 | struct event_key *key); |
|---|
| 57 | | - bool (*is_end_event)(struct perf_evsel *evsel, |
|---|
| 60 | + bool (*is_end_event)(struct evsel *evsel, |
|---|
| 58 | 61 | struct perf_sample *sample, struct event_key *key); |
|---|
| 59 | 62 | struct child_event_ops *child_ops; |
|---|
| 60 | 63 | void (*decode_key)(struct perf_kvm_stat *kvm, struct event_key *key, |
|---|
| .. | .. |
|---|
| 73 | 76 | struct perf_kvm_stat { |
|---|
| 74 | 77 | struct perf_tool tool; |
|---|
| 75 | 78 | struct record_opts opts; |
|---|
| 76 | | - struct perf_evlist *evlist; |
|---|
| 79 | + struct evlist *evlist; |
|---|
| 77 | 80 | struct perf_session *session; |
|---|
| 78 | 81 | |
|---|
| 79 | 82 | const char *file_name; |
|---|
| .. | .. |
|---|
| 108 | 111 | struct kvm_events_ops *ops; |
|---|
| 109 | 112 | }; |
|---|
| 110 | 113 | |
|---|
| 111 | | -void exit_event_get_key(struct perf_evsel *evsel, |
|---|
| 114 | +void exit_event_get_key(struct evsel *evsel, |
|---|
| 112 | 115 | struct perf_sample *sample, |
|---|
| 113 | 116 | struct event_key *key); |
|---|
| 114 | | -bool exit_event_begin(struct perf_evsel *evsel, |
|---|
| 117 | +bool exit_event_begin(struct evsel *evsel, |
|---|
| 115 | 118 | struct perf_sample *sample, |
|---|
| 116 | 119 | struct event_key *key); |
|---|
| 117 | | -bool exit_event_end(struct perf_evsel *evsel, |
|---|
| 120 | +bool exit_event_end(struct evsel *evsel, |
|---|
| 118 | 121 | struct perf_sample *sample, |
|---|
| 119 | 122 | struct event_key *key); |
|---|
| 120 | 123 | void exit_event_decode_key(struct perf_kvm_stat *kvm, |
|---|
| 121 | 124 | struct event_key *key, |
|---|
| 122 | 125 | char *decode); |
|---|
| 123 | 126 | |
|---|
| 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); |
|---|
| 126 | 129 | int setup_kvm_events_tp(struct perf_kvm_stat *kvm); |
|---|
| 127 | 130 | |
|---|
| 128 | 131 | #define define_exit_reasons_table(name, symbols) \ |
|---|
| .. | .. |
|---|
| 143 | 146 | extern const char *kvm_exit_reason; |
|---|
| 144 | 147 | extern const char *kvm_entry_trace; |
|---|
| 145 | 148 | extern const char *kvm_exit_trace; |
|---|
| 149 | +#endif /* HAVE_KVM_STAT_SUPPORT */ |
|---|
| 146 | 150 | |
|---|
| 151 | +extern int kvm_add_default_arch_event(int *argc, const char **argv); |
|---|
| 147 | 152 | #endif /* __PERF_KVM_STAT_H */ |
|---|