HIT
ret = PH(LVL, L1) | LEVEL(L1) | P(SNOOP, HIT);
ret = PH(LVL, L2) | LEVEL(L2) | P(SNOOP, HIT);
ret = PH(LVL, L3) | LEVEL(L3) | P(SNOOP, HIT);
ret = P(SNOOP, HIT);
ret |= P(LVL, HIT) | LEVEL(PMEM);
ret |= P(LVL, HIT) | LEVEL(PMEM) | REM;
ret |= P(SNOOP, HIT);
ret |= PH(LVL, L2) | LEVEL(L2) | P(SNOOP, HIT);
ret |= PH(LVL, L3) | LEVEL(L3) | P(SNOOP, HIT);
ret = PH(LVL, L2) | LEVEL(L2) | REM | P(SNOOP, HIT) | P(HOPS, 0);
ret = PH(LVL, L3) | LEVEL(L3) | REM | P(SNOOP, HIT) | P(HOPS, 0);
P(SNOOP, HIT) | P(HOPS, 2);
P(SNOOP, HIT) | P(HOPS, 3);
ret |= P(SNOOP, HIT);
#define PH(a, b) (P(LVL, HIT) | P(a, b))
#define L(x) (PERF_MEM_S(LVL, x) | PERF_MEM_S(LVL, HIT))
#define OP_LH (P(OP, LOAD) | P(LVL, HIT))
OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOP, HIT), /* 0x06: L3 hit, snoop hit */
OP_LH | P(LVL, REM_CCE1) | REM | LEVEL(L3) | P(SNOOP, HIT), /* 0x08: L3 miss snoop hit */
OP_LH | P(LVL, LOC_RAM) | LEVEL(RAM) | P(SNOOP, HIT), /* 0x0a: L3 miss, shared */
OP_LH | P(LVL, REM_RAM1) | REM | LEVEL(L3) | P(SNOOP, HIT), /* 0x0b: L3 miss, shared */
pebs_data_source[0x05] = OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOP, HIT);
data_source[0x08] = OP_LH | pmem_or_l4 | P(SNOOP, HIT);
data_source[0x09] = OP_LH | pmem_or_l4 | REM | P(SNOOP, HIT);
data_source[0x05] = OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOP, HIT);
OP_LH | P(LVL, L2) | LEVEL(L2) | P(SNOOP, HIT), /* 0x07: L2 Hit Snoop HIT */
OP_LH | P(LVL, L2) | LEVEL(L2) | P(SNOOP, HIT), /* 0x04: L2 Hit Snoop HIT */
val |= P(SNOOP, HIT);
val |= omr.omr_hitm ? P(SNOOP, HITM) : P(SNOOP, HIT);
val |= P(TLB, HIT);
val |= P(LVL, HIT);
*val |= P(TLB, HIT) | P(TLB, L1) | P(TLB, L2);
val |= P(TLB, HIT) | P(TLB, L1) | P(TLB, L2);
val |= P(TLB, HIT) | P(TLB, L1) | P(TLB, L2);
val |= P(TLB, HIT) | P(TLB, L1) | P(TLB, L2);
[ C(RESULT_ACCESS) ] = P4_GEN_CACHE_EVENT(P4_EVENT_ITLB_REFERENCE, HIT,
P4_ESCR_EMASK_BIT(P4_EVENT_ITLB_REFERENCE, HIT) |
#define SET_HIT(b, c, v) SET_CONTEXT_FIELD(b, c, V2PSR, HIT, v)
#define GET_HIT(b, c) GET_CONTEXT_FIELD(b, c, V2PSR, HIT)
#define OP_LH (P(OP, LOAD) | P(LVL, HIT))
OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOP, HIT), /* L3 hit|SNP Hit */
OP_LH | P(LVL, LOC_RAM) | LEVEL(RAM) | P(SNOOP, HIT), /* RAM hit|SNP Hit */
OP_LH | P(LVL, REM_RAM1) | REM | LEVEL(L3) | P(SNOOP, HIT), /* Remote L3 hit|SNP Hit */
OP_LH | P(LVL, L3) | LEVEL(L3) | P(SNOOP, HIT), /* L3 hit|SNP HitM */
*val |= P(TLB, HIT) | P(TLB, L1) | P(TLB, L2);
if (lvl & P(LVL, HIT)) {
if (snoop & P(SNOOP, HIT))
if (snoop & P(SNOOP, HIT))
if (snoop & P(SNOOP, HIT)) {
if (lvl & P(LVL, HIT)) {