]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - tools/perf/util/env.c
perf machine: Add machine__is() to identify machine arch
[linux.git] / tools / perf / util / env.c
index 4c842762e3f2d483e2f7f29a3fac640ce89602ea..319fb0a0d05ea8408a8f46f64cf3b33b6c3c64bf 100644 (file)
@@ -93,6 +93,24 @@ int perf_env__read_cpu_topology_map(struct perf_env *env)
        return 0;
 }
 
+static int perf_env__read_arch(struct perf_env *env)
+{
+       struct utsname uts;
+
+       if (env->arch)
+               return 0;
+
+       if (!uname(&uts))
+               env->arch = strdup(uts.machine);
+
+       return env->arch ? 0 : -ENOMEM;
+}
+
+const char *perf_env__raw_arch(struct perf_env *env)
+{
+       return env && !perf_env__read_arch(env) ? env->arch : "unknown";
+}
+
 void cpu_cache_level__free(struct cpu_cache_level *cache)
 {
        free(cache->type);