aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-kvm.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/builtin-kvm.c')
-rw-r--r--tools/perf/builtin-kvm.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/tools/perf/builtin-kvm.c b/tools/perf/builtin-kvm.c
index 0a4fcbe32bf6..6e3e36658900 100644
--- a/tools/perf/builtin-kvm.c
+++ b/tools/perf/builtin-kvm.c
@@ -17,9 +17,11 @@
17#include "util/debug.h" 17#include "util/debug.h"
18#include "util/tool.h" 18#include "util/tool.h"
19#include "util/stat.h" 19#include "util/stat.h"
20#include "util/synthetic-events.h"
20#include "util/top.h" 21#include "util/top.h"
21#include "util/data.h" 22#include "util/data.h"
22#include "util/ordered-events.h" 23#include "util/ordered-events.h"
24#include "util/kvm-stat.h"
23#include "ui/ui.h" 25#include "ui/ui.h"
24 26
25#include <sys/prctl.h> 27#include <sys/prctl.h>
@@ -58,7 +60,6 @@ static const char *get_filename_for_perf_kvm(void)
58} 60}
59 61
60#ifdef HAVE_KVM_STAT_SUPPORT 62#ifdef HAVE_KVM_STAT_SUPPORT
61#include "util/kvm-stat.h"
62 63
63void exit_event_get_key(struct evsel *evsel, 64void exit_event_get_key(struct evsel *evsel,
64 struct perf_sample *sample, 65 struct perf_sample *sample,
@@ -1513,11 +1514,21 @@ perf_stat:
1513} 1514}
1514#endif /* HAVE_KVM_STAT_SUPPORT */ 1515#endif /* HAVE_KVM_STAT_SUPPORT */
1515 1516
1517int __weak kvm_add_default_arch_event(int *argc __maybe_unused,
1518 const char **argv __maybe_unused)
1519{
1520 return 0;
1521}
1522
1516static int __cmd_record(const char *file_name, int argc, const char **argv) 1523static int __cmd_record(const char *file_name, int argc, const char **argv)
1517{ 1524{
1518 int rec_argc, i = 0, j; 1525 int rec_argc, i = 0, j, ret;
1519 const char **rec_argv; 1526 const char **rec_argv;
1520 1527
1528 ret = kvm_add_default_arch_event(&argc, argv);
1529 if (ret)
1530 return -EINVAL;
1531
1521 rec_argc = argc + 2; 1532 rec_argc = argc + 2;
1522 rec_argv = calloc(rec_argc + 1, sizeof(char *)); 1533 rec_argv = calloc(rec_argc + 1, sizeof(char *));
1523 rec_argv[i++] = strdup("record"); 1534 rec_argv[i++] = strdup("record");