]> www.infradead.org Git - users/hch/misc.git/commitdiff
perf tools: Add helper x86__is_intel_cpu()
authorDapeng Mi <dapeng1.mi@linux.intel.com>
Fri, 19 Sep 2025 02:16:57 +0000 (10:16 +0800)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 2 Oct 2025 18:31:14 +0000 (15:31 -0300)
Add helper x86__is_intel_cpu() to indicate if it's a x86 intel platform.

Signed-off-by: Dapeng Mi <dapeng1.mi@linux.intel.com>
Acked-by: Namhyung Kim <namhyung@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Ian Rogers <irogers@google.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/perf/util/env.c
tools/perf/util/env.h

index c8c2487546212f4efa5889e67c04c917f84c734e..f1626d2032cdedd6810b332a6d2ad95ad6fe0839 100644 (file)
@@ -802,3 +802,25 @@ bool x86__is_amd_cpu(void)
 
        return is_amd;
 }
+
+bool perf_env__is_x86_intel_cpu(struct perf_env *env)
+{
+       static int is_intel; /* 0: Uninitialized, 1: Yes, -1: No */
+
+       if (is_intel == 0)
+               is_intel = env->cpuid && strstarts(env->cpuid, "GenuineIntel") ? 1 : -1;
+
+       return is_intel >= 1 ? true : false;
+}
+
+bool x86__is_intel_cpu(void)
+{
+       struct perf_env env = { .total_mem = 0, };
+       bool is_intel;
+
+       perf_env__cpuid(&env);
+       is_intel = perf_env__is_x86_intel_cpu(&env);
+       perf_env__exit(&env);
+
+       return is_intel;
+}
index e00179787a341625a2e4b012be7ab5c94765bb43..9977b85523a8c30a1c79008ce6263f822b8b6463 100644 (file)
@@ -201,5 +201,7 @@ void perf_env__find_br_cntr_info(struct perf_env *env,
 
 bool x86__is_amd_cpu(void);
 bool perf_env__is_x86_amd_cpu(struct perf_env *env);
+bool x86__is_intel_cpu(void);
+bool perf_env__is_x86_intel_cpu(struct perf_env *env);
 
 #endif /* __PERF_ENV_H */