1 /* SPDX-License-Identifier: GPL-2.0 */
11 * Describe each PMU event. Each CPU has a table of PMU events.
19 const char *long_desc;
23 const char *aggr_mode;
24 const char *metric_expr;
25 const char *metric_name;
26 const char *metric_group;
27 const char *deprecated;
28 const char *metric_constraint;
33 * Map a CPU to its table of PMU events. The CPU is identified by the
34 * cpuid field, which is an arch-specific identifier for the CPU.
35 * The identifier specified in tools/perf/pmu-events/arch/xxx/mapfile
36 * must match the get_cpuid_str() in tools/perf/arch/xxx/util/header.c)
38 * The cpuid can contain any character other than the comma.
40 struct pmu_events_map {
43 const char *type; /* core, uncore etc */
44 const struct pmu_event *table;
47 struct pmu_sys_events {
49 const struct pmu_event *table;
53 * Global table mapping each known CPU for the architecture to its
54 * table of PMU events.
56 extern const struct pmu_events_map pmu_events_map[];
57 extern const struct pmu_sys_events pmu_sys_event_tables[];