60 #ifndef DCPIMetricDesc_H 61 #define DCPIMetricDesc_H 116 #define DCPI_MTYPE_PM UINT64_C(0x0000000000000001) 117 #define DCPI_MTYPE_RM UINT64_C(0x0000000000000002) 125 #define DCPI_PM_CNTR_MASK UINT64_C(0x00000000000000fc) 127 #define DCPI_PM_CNTR_count UINT64_C(0x0000000000000004) 128 #define DCPI_PM_CNTR_inflight UINT64_C(0x0000000000000008) 129 #define DCPI_PM_CNTR_retires UINT64_C(0x0000000000000010) 130 #define DCPI_PM_CNTR_retdelay UINT64_C(0x0000000000000020) 131 #define DCPI_PM_CNTR_bcmisses UINT64_C(0x0000000000000040) 132 #define DCPI_PM_CNTR_replays UINT64_C(0x0000000000000080) 138 #define DCPI_PM_ATTR_MASK UINT64_C(0x000000003fffff00) 140 #define DCPI_PM_ATTR_retired_T UINT64_C(0x0000000000000100) 141 #define DCPI_PM_ATTR_retired_F UINT64_C(0x0000000000000200) 142 #define DCPI_PM_ATTR_taken_T UINT64_C(0x0000000000000400) 143 #define DCPI_PM_ATTR_taken_F UINT64_C(0x0000000000000800) 144 #define DCPI_PM_ATTR_cbrmispredict_T UINT64_C(0x0000000000001000) 145 #define DCPI_PM_ATTR_cbrmispredict_F UINT64_C(0x0000000000002000) 146 #define DCPI_PM_ATTR_valid_T UINT64_C(0x0000000000004000) 147 #define DCPI_PM_ATTR_valid_F UINT64_C(0x0000000000008000) 148 #define DCPI_PM_ATTR_nyp_T UINT64_C(0x0000000000010000) 149 #define DCPI_PM_ATTR_nyp_F UINT64_C(0x0000000000020000) 150 #define DCPI_PM_ATTR_ldstorder_T UINT64_C(0x0000000000040000) 151 #define DCPI_PM_ATTR_ldstorder_F UINT64_C(0x0000000000080000) 152 #define DCPI_PM_ATTR_map_stall_T UINT64_C(0x0000000000100000) 153 #define DCPI_PM_ATTR_map_stall_F UINT64_C(0x0000000000200000) 154 #define DCPI_PM_ATTR_early_kill_T UINT64_C(0x0000000000400000) 155 #define DCPI_PM_ATTR_early_kill_F UINT64_C(0x0000000000800000) 156 #define DCPI_PM_ATTR_late_kill_T UINT64_C(0x0000000001000000) 157 #define DCPI_PM_ATTR_late_kill_F UINT64_C(0x0000000002000000) 158 #define DCPI_PM_ATTR_capped_T UINT64_C(0x0000000004000000) 159 #define DCPI_PM_ATTR_capped_F UINT64_C(0x0000000008000000) 160 #define DCPI_PM_ATTR_twnzrd_T UINT64_C(0x0000000010000000) 161 #define DCPI_PM_ATTR_twnzrd_F UINT64_C(0x0000000020000000) 166 #define DCPI_PM_TRAP_MASK UINT64_C(0x0000ffff00000000) 168 #define DCPI_PM_TRAP_notrap UINT64_C(0x0000000100000000) 169 #define DCPI_PM_TRAP_mispredict UINT64_C(0x0000000200000000) 170 #define DCPI_PM_TRAP_replays UINT64_C(0x0000000400000000) 171 #define DCPI_PM_TRAP_unaligntrap UINT64_C(0x0000000800000000) 172 #define DCPI_PM_TRAP_dtbmiss UINT64_C(0x0000001000000000) 173 #define DCPI_PM_TRAP_dtb2miss3 UINT64_C(0x0000002000000000) 174 #define DCPI_PM_TRAP_dtb2miss4 UINT64_C(0x0000004000000000) 175 #define DCPI_PM_TRAP_itbmiss UINT64_C(0x0000008000000000) 176 #define DCPI_PM_TRAP_arithtrap UINT64_C(0x0000010000000000) 177 #define DCPI_PM_TRAP_fpdisabledtrap UINT64_C(0x0000020000000000) 178 #define DCPI_PM_TRAP_MT_FPCRtrap UINT64_C(0x0000040000000000) 179 #define DCPI_PM_TRAP_dfaulttrap UINT64_C(0x0000080000000000) 180 #define DCPI_PM_TRAP_iacvtrap UINT64_C(0x0000100000000000) 181 #define DCPI_PM_TRAP_OPCDECtrap UINT64_C(0x0000200000000000) 182 #define DCPI_PM_TRAP_interrupt UINT64_C(0x0000400000000000) 183 #define DCPI_PM_TRAP_mchktrap UINT64_C(0x0000800000000000) 187 #define DCPI_PM_TRAP_trap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_notrap) 188 #define DCPI_PM_TRAP_N_notrap DCPI_PM_TRAP_trap 190 #define DCPI_PM_TRAP_N_mispredict (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_mispredict) 191 #define DCPI_PM_TRAP_N_replays (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_replays) 192 #define DCPI_PM_TRAP_N_unaligntrap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_unaligntrap) 193 #define DCPI_PM_TRAP_N_dtbmiss (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_dtbmiss) 194 #define DCPI_PM_TRAP_N_dtb2miss3 (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_dtb2miss3) 195 #define DCPI_PM_TRAP_N_dtb2miss4 (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_dtb2miss4) 196 #define DCPI_PM_TRAP_N_itbmiss (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_itbmiss) 197 #define DCPI_PM_TRAP_N_arithtrap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_arithtrap) 198 #define DCPI_PM_TRAP_N_fpdisabledtrap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_fpdisabledtrap) 199 #define DCPI_PM_TRAP_N_MT_FPCRtrap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_MT_FPCRtrap) 200 #define DCPI_PM_TRAP_N_dfaulttrap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_dfaulttrap) 201 #define DCPI_PM_TRAP_N_iacvtrap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_iacvtrap) 202 #define DCPI_PM_TRAP_N_OPCDECtrap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_OPCDECtrap) 203 #define DCPI_PM_TRAP_N_interrupt (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_interrupt) 204 #define DCPI_PM_TRAP_N_mchktrap (DCPI_PM_TRAP_MASK & ~DCPI_PM_TRAP_mchktrap) 211 #define DCPI_RM_CNTR_MASK UINT64_C(0x000000000000003c) 213 #define DCPI_RM_cycles UINT64_C(0x0000000000000004) 214 #define DCPI_RM_retires UINT64_C(0x0000000000000008) 215 #define DCPI_RM_replaytrap UINT64_C(0x0000000000000010) 216 #define DCPI_RM_bmiss UINT64_C(0x0000000000000020) 249 bool IsSet(
const bitvec_t bv)
const {
250 return (
bits & bv) == bv;
257 return (
bits & bv) != 0;
263 void Set(
const bitvec_t bv) {
278 void Dump(std::ostream& o = std::cerr);
282 void Ctor(
const char* str);
void Ctor(const char *str)
virtual ~DCPIMetricDesc()
DCPIMetricDesc & operator=(const DCPIMetricDesc &x)
void Set(const DCPIMetricDesc &m)
bool IsSet(const bitvec_t bv) const
bool IsSetAny(const bitvec_t bv) const
bool IsSet(const DCPIMetricDesc &m) const
void Set(const bitvec_t bv)
DCPIMetricDesc String2DCPIMetricDesc(const char *str)
DCPIMetricDesc(const DCPIMetricDesc &x)
void Dump(std::ostream &o=std::cerr)
DCPIMetricDesc(bitvec_t bv=0)
void Unset(const DCPIMetricDesc &m)
bool IsSetAny(const DCPIMetricDesc &m) const
void Unset(const bitvec_t bv)