perf pmu: Save detected hybrid pmus to a global pmu list
[linux-2.6-microblaze.git] / tools / perf / util / pmu.h
index 4f10076..9a2f89e 100644 (file)
@@ -5,6 +5,7 @@
 #include <linux/bitmap.h>
 #include <linux/compiler.h>
 #include <linux/perf_event.h>
+#include <linux/list.h>
 #include <stdbool.h>
 #include "parse-events.h"
 #include "pmu-events/pmu-events.h"
@@ -19,6 +20,7 @@ enum {
 
 #define PERF_PMU_FORMAT_BITS 64
 #define EVENT_SOURCE_DEVICE_PATH "/bus/event_source/devices/"
+#define CPUS_TEMPLATE_CPU      "%s/bus/event_source/devices/%s/cpus"
 
 struct perf_event_attr;
 
@@ -34,6 +36,7 @@ struct perf_pmu {
        __u32 type;
        bool selectable;
        bool is_uncore;
+       bool is_hybrid;
        bool auxtrace;
        int max_precise;
        struct perf_event_attr *default_config;
@@ -42,6 +45,7 @@ struct perf_pmu {
        struct list_head aliases; /* HEAD struct perf_pmu_alias -> list */
        struct list_head caps;    /* HEAD struct perf_pmu_caps -> list */
        struct list_head list;    /* ELEM */
+       struct list_head hybrid_list;
 };
 
 extern struct perf_pmu perf_pmu__fake;