summaryrefslogtreecommitdiff
path: root/tools/perf/util/sample-raw.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/util/sample-raw.c')
-rw-r--r--tools/perf/util/sample-raw.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/tools/perf/util/sample-raw.c b/tools/perf/util/sample-raw.c
index bcf442574d6e..e20b73c0c5bd 100644
--- a/tools/perf/util/sample-raw.c
+++ b/tools/perf/util/sample-raw.c
@@ -1,11 +1,12 @@
/* SPDX-License-Identifier: GPL-2.0 */
+#include "sample-raw.h"
-#include <string.h>
+#include <elf.h>
#include <linux/string.h>
-#include "evlist.h"
+
#include "env.h"
+#include "evlist.h"
#include "header.h"
-#include "sample-raw.h"
#include "session.h"
/*
@@ -14,14 +15,14 @@
*/
void evlist__init_trace_event_sample_raw(struct evlist *evlist, struct perf_env *env)
{
- const char *arch_pf = perf_env__arch(env);
- const char *cpuid = perf_env__cpuid(env);
+ uint16_t e_machine = perf_env__e_machine(env, /*e_flags=*/NULL);
- if (arch_pf && !strcmp("s390", arch_pf))
+ if (e_machine == EM_S390) {
evlist->trace_event_sample_raw = evlist__s390_sample_raw;
- else if (arch_pf && !strcmp("x86", arch_pf) &&
- cpuid && strstarts(cpuid, "AuthenticAMD") &&
- evlist__has_amd_ibs(evlist)) {
- evlist->trace_event_sample_raw = evlist__amd_sample_raw;
+ } else if (e_machine == EM_X86_64 || e_machine == EM_386) {
+ const char *cpuid = perf_env__cpuid(env);
+
+ if (cpuid && strstarts(cpuid, "AuthenticAMD") && evlist__has_amd_ibs(evlist))
+ evlist->trace_event_sample_raw = evlist__amd_sample_raw;
}
}