00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT! -*- c++ -*- 00002 00003 #ifndef perf_cnt_i_h 00004 #define perf_cnt_i_h 00005 00006 #include <cstring> 00007 #include <cstdio> 00008 #include <panic.h> 00009 #include "cpu.h" 00010 #include "regdefs.h" 00011 #include "static_init.h" 00012 #include "tb_entry.h" 00013 00014 enum perfctr_unit_mask_type 00015 { 00016 perfctr_um_type_fixed, /* one fixed (required) value */ 00017 perfctr_um_type_exclusive, /* exactly one of N values */ 00018 perfctr_um_type_bitmask, /* bitwise 'or' of N power-of-2 values */ 00019 }; 00020 00021 struct perfctr_unit_mask_value 00022 { 00023 unsigned int value; 00024 const char *description; /* [NAME:]text */ 00025 }; 00026 00027 struct perfctr_unit_mask 00028 { 00029 unsigned int default_value; 00030 enum perfctr_unit_mask_type type:16; 00031 unsigned short nvalues; 00032 struct perfctr_unit_mask_value values[1/*nvalues*/]; 00033 }; 00034 00035 struct perfctr_event 00036 { 00037 unsigned int evntsel; 00038 unsigned int counters_set; /* P4 force this to be CPU-specific */ 00039 const struct perfctr_unit_mask *unit_mask; 00040 const char *name; 00041 const char *description; 00042 }; 00043 00044 struct perfctr_event_set 00045 { 00046 unsigned int cpu_type; 00047 const char *event_prefix; 00048 const struct perfctr_event_set *include; 00049 unsigned int nevents; 00050 const struct perfctr_event *events; 00051 }; 00052 00053 #endif // perf_cnt_i_h