22 "kvm_hv:kvm_guest_enter",
23 "kvm_hv:kvm_guest_exit",
24 "kvm_hv:kvm_hcall_enter",
25 "kvm_hv:kvm_hcall_exit",
45 while (tbl->
reason != NULL) {
51 pr_debug(
"Unknown hcall code: %lld\n",
52 (
unsigned long long)exit_code);
86 .name =
"HCALL-EVENT",
97 { .
name =
"vmexit", .ops = &exit_events },
98 { .
name =
"hcall", .ops = &hcall_events },
122 const char **events_ptr;
123 int i, nr_tp = 0,
err = -1;
133 for (i = 0; i < nr_tp; i++)
const char * ppc_book3s_hv_kvm_tp[]
define_exit_reasons_table(hv_exit_reasons, kvm_trace_symbol_exit)
static void hcall_event_decode_key(struct perf_kvm_stat *kvm __maybe_unused, struct event_key *key, char *decode)
struct exit_reasons_table * exit_reasons
#define kvm_trace_symbol_hcall
static bool hcall_event_end(struct perf_evsel *evsel, struct perf_sample *sample __maybe_unused, struct event_key *key __maybe_unused)
const char * kvm_events_tp[NR_TPS+1]
int setup_kvm_events_tp(struct perf_kvm_stat *kvm)
int parse_events(struct perf_evlist *evlist, const char *str, struct parse_events_error *err)
#define pr_debug(fmt,...)
int cpu_isa_init(struct perf_kvm_stat *kvm, const char *cpuid __maybe_unused)
static bool hcall_event_begin(struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key)
const char *const kvm_skip_events[]
static int str(yyscan_t scanner, int token)
u64 perf_evsel__intval(struct perf_evsel *evsel, struct perf_sample *sample, const char *name)
#define kvm_trace_symbol_exit
bool exit_event_begin(struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key)
static struct kvm_events_ops exit_events
void exit_event_decode_key(struct perf_kvm_stat *kvm, struct event_key *key, char *decode)
bool(* is_begin_event)(struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key)
static int ppc__setup_kvm_tp(struct perf_kvm_stat *kvm)
const char * kvm_exit_reason
static struct kvm_events_ops hcall_events
const char * exit_reasons_isa
static int ppc__setup_book3s_hv(struct perf_kvm_stat *kvm, struct perf_evlist *evlist)
const char * kvm_exit_trace
static const char * get_hcall_exit_reason(u64 exit_code)
const char * kvm_entry_trace
struct perf_evlist * perf_evlist__new(void)
bool exit_event_end(struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key)
static void hcall_event_get_key(struct perf_evsel *evsel, struct perf_sample *sample, struct event_key *key)
static int is_tracepoint_available(const char *str, struct perf_evlist *evlist)