1*53548f91SRobert Mustacchi[ 2*53548f91SRobert Mustacchi { 3*53548f91SRobert Mustacchi "MATRIX_REQUEST": "DEMAND_DATA_RD", 4*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 5*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000001", 6*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 7*53548f91SRobert Mustacchi "DESCRIPTION": "Counts demand cacheable data and L1 prefetch data reads" 8*53548f91SRobert Mustacchi }, 9*53548f91SRobert Mustacchi { 10*53548f91SRobert Mustacchi "MATRIX_REQUEST": "DEMAND_RFO", 11*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 12*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000002", 13*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 14*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Demand cacheable data writes" 15*53548f91SRobert Mustacchi }, 16*53548f91SRobert Mustacchi { 17*53548f91SRobert Mustacchi "MATRIX_REQUEST": "DEMAND_CODE_RD", 18*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 19*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000004", 20*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 21*53548f91SRobert Mustacchi "DESCRIPTION": "Counts demand code reads and prefetch code reads" 22*53548f91SRobert Mustacchi }, 23*53548f91SRobert Mustacchi { 24*53548f91SRobert Mustacchi "MATRIX_REQUEST": "PF_L2_RFO", 25*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 26*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000020", 27*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 28*53548f91SRobert Mustacchi "DESCRIPTION": "Counts L2 data RFO prefetches (includes PREFETCHW instruction)" 29*53548f91SRobert Mustacchi }, 30*53548f91SRobert Mustacchi { 31*53548f91SRobert Mustacchi "MATRIX_REQUEST": "PF_L2_CODE_RD", 32*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 33*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000040", 34*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 35*53548f91SRobert Mustacchi "DESCRIPTION": "Counts L2 code HW prefetches" 36*53548f91SRobert Mustacchi }, 37*53548f91SRobert Mustacchi { 38*53548f91SRobert Mustacchi "MATRIX_REQUEST": "PARTIAL_READS", 39*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 40*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000080", 41*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 42*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Partial reads (UC or WC and is valid only for Outstanding response type)." 43*53548f91SRobert Mustacchi }, 44*53548f91SRobert Mustacchi { 45*53548f91SRobert Mustacchi "MATRIX_REQUEST": "PARTIAL_WRITES", 46*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 47*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000100", 48*53548f91SRobert Mustacchi "MATRIX_REGISTER": "1", 49*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Partial writes (UC or WT or WP and should be programmed on PMC1)" 50*53548f91SRobert Mustacchi }, 51*53548f91SRobert Mustacchi { 52*53548f91SRobert Mustacchi "MATRIX_REQUEST": "UC_CODE_READS", 53*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 54*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000200", 55*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 56*53548f91SRobert Mustacchi "DESCRIPTION": "Counts UC code reads (valid only for Outstanding response type)" 57*53548f91SRobert Mustacchi }, 58*53548f91SRobert Mustacchi { 59*53548f91SRobert Mustacchi "MATRIX_REQUEST": "BUS_LOCKS", 60*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 61*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000400", 62*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 63*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Bus locks and split lock requests" 64*53548f91SRobert Mustacchi }, 65*53548f91SRobert Mustacchi { 66*53548f91SRobert Mustacchi "MATRIX_REQUEST": "FULL_STREAMING_STORES", 67*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 68*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000800", 69*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 70*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Full streaming stores (WC and should be programmed on PMC1)" 71*53548f91SRobert Mustacchi }, 72*53548f91SRobert Mustacchi { 73*53548f91SRobert Mustacchi "MATRIX_REQUEST": "PF_SOFTWARE", 74*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 75*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000001000", 76*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 77*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Software Prefetches" 78*53548f91SRobert Mustacchi }, 79*53548f91SRobert Mustacchi { 80*53548f91SRobert Mustacchi "MATRIX_REQUEST": "PF_L1_DATA_RD", 81*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 82*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000002000", 83*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 84*53548f91SRobert Mustacchi "DESCRIPTION": "Counts L1 data HW prefetches" 85*53548f91SRobert Mustacchi }, 86*53548f91SRobert Mustacchi { 87*53548f91SRobert Mustacchi "MATRIX_REQUEST": "PARTIAL_STREAMING_STORES", 88*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 89*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000004000", 90*53548f91SRobert Mustacchi "MATRIX_REGISTER": "1", 91*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Partial streaming stores (WC and should be programmed on PMC1)" 92*53548f91SRobert Mustacchi }, 93*53548f91SRobert Mustacchi { 94*53548f91SRobert Mustacchi "MATRIX_REQUEST": "STREAMING_STORES", 95*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 96*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000004800", 97*53548f91SRobert Mustacchi "MATRIX_REGISTER": "1", 98*53548f91SRobert Mustacchi "DESCRIPTION": "Counts all streaming stores (WC and should be programmed on PMC1)" 99*53548f91SRobert Mustacchi }, 100*53548f91SRobert Mustacchi { 101*53548f91SRobert Mustacchi "MATRIX_REQUEST": "ANY_REQUEST", 102*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 103*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000008000", 104*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 105*53548f91SRobert Mustacchi "DESCRIPTION": "Counts any request" 106*53548f91SRobert Mustacchi }, 107*53548f91SRobert Mustacchi { 108*53548f91SRobert Mustacchi "MATRIX_REQUEST": "ANY_DATA_RD", 109*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 110*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000003081", 111*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 112*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Demand cacheable data and L1 prefetch data read requests" 113*53548f91SRobert Mustacchi }, 114*53548f91SRobert Mustacchi { 115*53548f91SRobert Mustacchi "MATRIX_REQUEST": "ANY_RFO", 116*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 117*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000022", 118*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 119*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Demand cacheable data write requests" 120*53548f91SRobert Mustacchi }, 121*53548f91SRobert Mustacchi { 122*53548f91SRobert Mustacchi "MATRIX_REQUEST": "ANY_CODE_RD", 123*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 124*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000044", 125*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 126*53548f91SRobert Mustacchi "DESCRIPTION": "Counts Demand code reads and prefetch code read requests" 127*53548f91SRobert Mustacchi }, 128*53548f91SRobert Mustacchi { 129*53548f91SRobert Mustacchi "MATRIX_REQUEST": "ANY_READ", 130*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 131*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x00000032e7", 132*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 133*53548f91SRobert Mustacchi "DESCRIPTION": "Counts any Read request" 134*53548f91SRobert Mustacchi }, 135*53548f91SRobert Mustacchi { 136*53548f91SRobert Mustacchi "MATRIX_REQUEST": "ANY_PF_L2", 137*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "Null", 138*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000000060", 139*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 140*53548f91SRobert Mustacchi "DESCRIPTION": "Counts any Prefetch requests" 141*53548f91SRobert Mustacchi }, 142*53548f91SRobert Mustacchi { 143*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 144*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "ANY_RESPONSE", 145*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0000010000", 146*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 147*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for any response" 148*53548f91SRobert Mustacchi }, 149*53548f91SRobert Mustacchi { 150*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 151*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "DDR_NEAR", 152*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0080800000", 153*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 154*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for data responses from DRAM Local." 155*53548f91SRobert Mustacchi }, 156*53548f91SRobert Mustacchi { 157*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 158*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "DDR_FAR", 159*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0101000000", 160*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 161*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for data responses from DRAM Far." 162*53548f91SRobert Mustacchi }, 163*53548f91SRobert Mustacchi { 164*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 165*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "MCDRAM_NEAR", 166*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0080200000", 167*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 168*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for data responses from MCDRAM Local." 169*53548f91SRobert Mustacchi }, 170*53548f91SRobert Mustacchi { 171*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 172*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "MCDRAM_FAR", 173*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0100400000", 174*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 175*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for data responses from MCDRAM Far or Other tile L2 hit far." 176*53548f91SRobert Mustacchi }, 177*53548f91SRobert Mustacchi { 178*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 179*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_NEAR_TILE_E_F", 180*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0800080000", 181*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 182*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses from a snoop request hit with data forwarded from its Near-other tile's L2 in E/F state." 183*53548f91SRobert Mustacchi }, 184*53548f91SRobert Mustacchi { 185*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 186*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_NEAR_TILE_M", 187*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x1000080000", 188*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 189*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses from a snoop request hit with data forwarded from its Near-other tile's L2 in M state." 190*53548f91SRobert Mustacchi }, 191*53548f91SRobert Mustacchi { 192*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 193*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_FAR_TILE_E_F", 194*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0800400000", 195*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 196*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses from a snoop request hit with data forwarded from its Far(not in the same quadrant as the request)-other tile's L2 in E/F state. Valid only for SNC4 cluster mode." 197*53548f91SRobert Mustacchi }, 198*53548f91SRobert Mustacchi { 199*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 200*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_FAR_TILE_M", 201*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x1000400000", 202*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 203*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses from a snoop request hit with data forwarded from its Far(not in the same quadrant as the request)-other tile's L2 in M state." 204*53548f91SRobert Mustacchi }, 205*53548f91SRobert Mustacchi { 206*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 207*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "NON_DRAM", 208*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x2000020000", 209*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 210*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses from any NON_DRAM system address. This includes MMIO transactions" 211*53548f91SRobert Mustacchi }, 212*53548f91SRobert Mustacchi { 213*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 214*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "OUTSTANDING", 215*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x4000000000", 216*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0", 217*53548f91SRobert Mustacchi "DESCRIPTION": "outstanding, per weighted cycle, from the time of the request to when any response is received. The oustanding response should be programmed only on PMC0." 218*53548f91SRobert Mustacchi }, 219*53548f91SRobert Mustacchi { 220*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 221*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "MCDRAM", 222*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0180600000", 223*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 224*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses from MCDRAM (local and far)" 225*53548f91SRobert Mustacchi }, 226*53548f91SRobert Mustacchi { 227*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 228*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "DDR", 229*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0181800000", 230*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 231*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses from DDR (local and far)" 232*53548f91SRobert Mustacchi }, 233*53548f91SRobert Mustacchi { 234*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 235*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_THIS_TILE_M", 236*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0002000000", 237*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 238*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses which hit its own tile's L2 with data in M state" 239*53548f91SRobert Mustacchi }, 240*53548f91SRobert Mustacchi { 241*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 242*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_THIS_TILE_E", 243*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0004000000", 244*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 245*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses which hit its own tile's L2 with data in E state" 246*53548f91SRobert Mustacchi }, 247*53548f91SRobert Mustacchi { 248*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 249*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_THIS_TILE_S", 250*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0008000000", 251*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 252*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses which hit its own tile's L2 with data in S state" 253*53548f91SRobert Mustacchi }, 254*53548f91SRobert Mustacchi { 255*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 256*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_THIS_TILE_F", 257*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x0010000000", 258*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 259*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for responses which hit its own tile's L2 with data in F state" 260*53548f91SRobert Mustacchi }, 261*53548f91SRobert Mustacchi { 262*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 263*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_NEAR_TILE", 264*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x1800180000", 265*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 266*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for reponses from snoop request hit with data forwarded from its Near-other tile L2 in E/F/M state" 267*53548f91SRobert Mustacchi }, 268*53548f91SRobert Mustacchi { 269*53548f91SRobert Mustacchi "MATRIX_REQUEST": "Null", 270*53548f91SRobert Mustacchi "MATRIX_RESPONSE": "L2_HIT_FAR_TILE", 271*53548f91SRobert Mustacchi "MATRIX_VALUE": "0x1800400000", 272*53548f91SRobert Mustacchi "MATRIX_REGISTER": "0,1", 273*53548f91SRobert Mustacchi "DESCRIPTION": "accounts for reponses from snoop request hit with data forwarded from it Far(not in the same quadrant as the request)-other tile L2 in E/F/M state. Valid only in SNC4 Cluster mode." 274*53548f91SRobert Mustacchi } 275*53548f91SRobert Mustacchi]