11 { PFM_REG_CONTROL , 0, 0x1
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
12 { PFM_REG_CONTROL , 0, 0x0
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
13 { PFM_REG_CONTROL , 0, 0x0
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
14 { PFM_REG_CONTROL , 0, 0x0
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
15 { PFM_REG_COUNTING, 6, 0x0
UL, -1
UL,
NULL,
NULL, {RDEP(4),0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
16 { PFM_REG_COUNTING, 6, 0x0
UL, -1
UL,
NULL,
NULL, {RDEP(5),0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
17 { PFM_REG_COUNTING, 6, 0x0
UL, -1
UL,
NULL,
NULL, {RDEP(6),0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
18 { PFM_REG_COUNTING, 6, 0x0
UL, -1
UL,
NULL,
NULL, {RDEP(7),0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
19 { PFM_REG_CONFIG , 0, 0xf00000003ffffff8
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
20 { PFM_REG_CONFIG , 0, 0xf00000003ffffff8
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
21 { PFM_REG_MONITOR , 6, 0x0
UL, -1
UL,
NULL,
NULL, {RDEP(0)|RDEP(1),0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
22 { PFM_REG_MONITOR , 6, 0x0000000010000000
UL, -1
UL,
NULL, pfm_ita_pmc_check, {RDEP(2)|RDEP(3)|RDEP(17),0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
23 { PFM_REG_MONITOR , 6, 0x0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(9)|RDEP(10)|RDEP(11)|RDEP(12)|RDEP(13)|RDEP(14)|RDEP(15)|RDEP(16),0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
24 { PFM_REG_CONFIG , 0, 0x0003ffff00000001
UL, -1
UL,
NULL, pfm_ita_pmc_check, {0
UL,0
UL, 0
UL, 0UL}, {0
UL,0
UL, 0
UL, 0UL}},
25 { PFM_REG_END , 0, 0x0
UL, -1
UL,
NULL,
NULL, {0,}, {0,}},
29 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(1),0
UL, 0
UL, 0UL}, {RDEP(10),0
UL, 0
UL, 0UL}},
30 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(0),0
UL, 0
UL, 0UL}, {RDEP(10),0
UL, 0
UL, 0UL}},
31 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(3)|RDEP(17),0
UL, 0
UL, 0UL}, {RDEP(11),0
UL, 0
UL, 0UL}},
32 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(2)|RDEP(17),0
UL, 0
UL, 0UL}, {RDEP(11),0
UL, 0
UL, 0UL}},
33 { PFM_REG_COUNTING, 0, 0
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {RDEP(4),0
UL, 0
UL, 0UL}},
34 { PFM_REG_COUNTING, 0, 0
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {RDEP(5),0
UL, 0
UL, 0UL}},
35 { PFM_REG_COUNTING, 0, 0
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {RDEP(6),0
UL, 0
UL, 0UL}},
36 { PFM_REG_COUNTING, 0, 0
UL, -1
UL,
NULL,
NULL, {0
UL,0
UL, 0
UL, 0UL}, {RDEP(7),0
UL, 0
UL, 0UL}},
37 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(9)|RDEP(10)|RDEP(11)|RDEP(12)|RDEP(13)|RDEP(14)|RDEP(15)|RDEP(16),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
38 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(10)|RDEP(11)|RDEP(12)|RDEP(13)|RDEP(14)|RDEP(15)|RDEP(16),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
39 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(9)|RDEP(11)|RDEP(12)|RDEP(13)|RDEP(14)|RDEP(15)|RDEP(16),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
40 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(9)|RDEP(10)|RDEP(12)|RDEP(13)|RDEP(14)|RDEP(15)|RDEP(16),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
41 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(9)|RDEP(10)|RDEP(11)|RDEP(13)|RDEP(14)|RDEP(15)|RDEP(16),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
42 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(9)|RDEP(10)|RDEP(11)|RDEP(12)|RDEP(14)|RDEP(15)|RDEP(16),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
43 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(9)|RDEP(10)|RDEP(11)|RDEP(12)|RDEP(13)|RDEP(15)|RDEP(16),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
44 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(9)|RDEP(10)|RDEP(11)|RDEP(12)|RDEP(13)|RDEP(14)|RDEP(16),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
45 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(8)|RDEP(9)|RDEP(10)|RDEP(11)|RDEP(12)|RDEP(13)|RDEP(14)|RDEP(15),0
UL, 0
UL, 0UL}, {RDEP(12),0
UL, 0
UL, 0UL}},
46 { PFM_REG_BUFFER , 0, 0
UL, -1
UL,
NULL,
NULL, {RDEP(2)|RDEP(3),0
UL, 0
UL, 0UL}, {RDEP(11),0
UL, 0
UL, 0UL}},
47 { PFM_REG_END , 0, 0
UL, -1
UL,
NULL,
NULL, {0,}, {0,}},
59 is_loaded = ctx->ctx_state == PFM_CTX_LOADED || ctx->ctx_state == PFM_CTX_MASKED;
65 if (cnum == 13 && is_loaded && ((*val & 0x1) == 0
UL) && ctx->ctx_fl_using_dbreg == 0) {
67 DPRINT((
"pmc[%d]=0x%lx has active pmc13.ta cleared, clearing ibr\n", cnum, *val));
76 ret = pfm_write_ibr_dbr(1, ctx,
NULL, 0, regs);
84 if (cnum == 11 && is_loaded && ((*val >> 28)& 0x1) == 0 && ctx->ctx_fl_using_dbreg == 0) {
86 DPRINT((
"pmc[%d]=0x%lx has active pmc11.pt cleared, clearing dbr\n", cnum, *val));
95 ret = pfm_write_ibr_dbr(0, ctx,
NULL, 0, regs);
104 static pmu_config_t pmu_conf_ita={
105 .pmu_name =
"Itanium",
107 .ovfl_val = (1
UL << 32) - 1,
108 .pmd_desc = pfm_ita_pmd_desc,
109 .pmc_desc = pfm_ita_pmc_desc,