blob: d3259d61ca75cca4ce8b4afddbe6374bde2fbae2 [file] [log] [blame]
John Garrye126bef2021-04-07 18:32:47 +08001// SPDX-License-Identifier: GPL-2.0
2
3#include "../../util/cpumap.h"
4#include "../../util/pmu.h"
5
6struct pmu_events_map *pmu_events_map__find(void)
7{
8 struct perf_pmu *pmu = NULL;
9
10 while ((pmu = perf_pmu__scan(pmu))) {
11 if (!is_pmu_core(pmu->name))
12 continue;
13
14 /*
15 * The cpumap should cover all CPUs. Otherwise, some CPUs may
16 * not support some events or have different event IDs.
17 */
18 if (pmu->cpus->nr != cpu__max_cpu())
19 return NULL;
20
21 return perf_pmu__find_map(pmu);
22 }
23
24 return NULL;
25}