38#define is_ear(i) event_is_ear(itanium2_pe+(i))
39#define is_ear_tlb(i) event_is_ear_tlb(itanium2_pe+(i))
40#define is_ear_alat(i) event_is_ear_alat(itanium2_pe+(i))
41#define is_ear_cache(i) event_is_ear_cache(itanium2_pe+(i))
42#define is_iear(i) event_is_iear(itanium2_pe+(i))
43#define is_dear(i) event_is_dear(itanium2_pe+(i))
44#define is_btb(i) event_is_btb(itanium2_pe+(i))
45#define has_opcm(i) event_opcm_ok(itanium2_pe+(i))
46#define has_iarr(i) event_iarr_ok(itanium2_pe+(i))
47#define has_darr(i) event_darr_ok(itanium2_pe+(i))
49#define evt_use_opcm(e) ((e)->pfp_ita2_pmc8.opcm_used != 0 || (e)->pfp_ita2_pmc9.opcm_used !=0)
50#define evt_use_irange(e) ((e)->pfp_ita2_irange.rr_used)
51#define evt_use_drange(e) ((e)->pfp_ita2_drange.rr_used)
53#define evt_grp(e) (int)itanium2_pe[e].pme_qualifiers.pme_qual.pme_group
54#define evt_set(e) (int)itanium2_pe[e].pme_qualifiers.pme_qual.pme_set
55#define evt_umask(e) itanium2_pe[e].pme_umask
58#define FINE_MODE_BOUNDARY_BITS 12
59#define FINE_MODE_MASK ~((1U<<12)-1)
62#define pmc_plm pmc_ita2_counter_reg.pmc_plm
63#define pmc_ev pmc_ita2_counter_reg.pmc_ev
64#define pmc_oi pmc_ita2_counter_reg.pmc_oi
65#define pmc_pm pmc_ita2_counter_reg.pmc_pm
66#define pmc_es pmc_ita2_counter_reg.pmc_es
67#define pmc_umask pmc_ita2_counter_reg.pmc_umask
68#define pmc_thres pmc_ita2_counter_reg.pmc_thres
69#define pmc_ism pmc_ita2_counter_reg.pmc_ism
132 unsigned long ref_umask, umask;
141 for (
i=0;
i < cnt;
i++) {
149 for (j=
i+1; j < cnt; j++) {
150 if (
evt_grp(e[j].event) != g)
continue;
193#define NPREFETCH_EVENTS sizeof(prefetch_events)/sizeof(int)
206 prefetch_codes[
i] = code;
212 if (
c == prefetch_codes[j]) found++;
233 unsigned int i,
count, found = 0;
234 unsigned long umask, mask;
259 if (retired_mask) *retired_mask = mask;
269 for(
i=0;
i < n;
i++) {
286 for(
i=0;
i < 4;
i++) {
288 if (lim[
i].rr_start == 0 && lim[
i].rr_end == 0)
break;
293 if (mode == 0 && (lim[
i].rr_start & 0xf || lim[
i].rr_end & 0xf))
304 unsigned long pmc4_umask = 0, umask;
306 int l1_grp_present = 0, l2_grp_present = 0;
309 int need_pmc5, need_pmc4;
310 int pmc5_evt = -1, pmc4_evt = -1;
314 for(j=0;j<cnt; j++) {
316 printf(
"%-2u (%d,%d): %s\n",
328 for(
i=0;
i < cnt;
i++) {
329 if (as[
i]==0)
goto do_failure;
342 for(
i=0;
i < cnt;
i++) {
356 if (l1_grp_present || l2_grp_present) {
358 need_pmc5 = l1_grp_present;
359 need_pmc4 = l2_grp_present;
361 for(
i=0;
i < cnt;
i++) {
373 if (need_pmc4 == 0 && need_pmc5 == 0)
break;
376 if (need_pmc4)
goto do_failure;
379 if (need_pmc5)
goto do_failure;
390 if (l2_grp_present &&
evt_set(pmc4_evt) != 1 &&
evt_set(pmc4_evt) != 2) {
399 for(
i=0;
i < cnt;
i++) {
403 DPRINT(
"pmc4_evt=%d pmc4_umask=0x%lx cnt_list[%d]=%d grp=%d umask=0x%lx\n", pmc4_evt, pmc4_umask,
i, e[
i].event,
evt_grp(e[
i].event), umask);
407 if (
i != cnt)
goto do_failure;
412 DPRINT(
"%s : failure %d\n", __FUNCTION__, failure);
429#define NCANCEL_EVENTS sizeof(cancel_events)/sizeof(int)
441 cancel_codes[
i] = code;
447 if (code == cancel_codes[j]) {
465#define has_counter(e,b) (itanium2_pe[e].pme_counters & (1 << (b)) ? (b) : 0)
471 unsigned int i,j,k,l;
473 unsigned int max_l0, max_l1, max_l2, max_l3;
484 for (m=0; m < cnt; m++) {
502 DPRINT(
"max_l0=%u max_l1=%u max_l2=%u max_l3=%u\n", max_l0, max_l1, max_l2, max_l3);
514 if (j ==
i)
continue;
522 if(k ==
i || k == j)
continue;
529 if(l ==
i || l == j || l == k)
continue;
541 for (j=0; j < cnt ; j++ ) {
563 __pfm_vbprintf(
"[PMC%u(pmc%u)=0x%06lx thres=%d es=0x%02x plm=%d umask=0x%x pm=%d ism=0x%x oi=%d] %s\n",
589 unsigned int pos1, pos2;
609 memset(&fake_param, 0,
sizeof(fake_param));
620 DPRINT(
"I-EAR event with no info\n");
644 DPRINT(
"ALAT mode not supported in I-EAR mode\n");
663 __pfm_vbprintf(
"[PMC10(pmc10)=0x%lx ctb=tlb plm=%d pm=%d ism=0x%x umask=0x%x]\n",
670 __pfm_vbprintf(
"[PMC10(pmc10)=0x%lx ctb=cache plm=%d pm=%d ism=0x%x umask=0x%x]\n",
693 unsigned int pos1, pos2;
713 memset(&fake_param, 0,
sizeof(fake_param));
724 DPRINT(
"D-EAR event with no info\n");
763 __pfm_vbprintf(
"[PMC11(pmc11)=0x%lx mode=%s plm=%d pm=%d ism=0x%x umask=0x%x]\n",
787 unsigned int i, has_1st_pair, has_2nd_pair,
count;
825 has_1st_pair = has_2nd_pair = 0;
835 __pfm_vbprintf(
"[PMC8(pmc8)=0x%lx m=%d i=%d f=%d b=%d match=0x%x mask=0x%x inv=%d ig_ad=%d]\n",
873 has_1st_pair = has_2nd_pair = 0;
883 __pfm_vbprintf(
"[PMC9(pmc9)=0x%lx m=%d i=%d f=%d b=%d match=0x%x mask=0x%x]\n",
902 __pfm_vbprintf(
"[PMC15(pmc15)=0x%lx ibrp0_pmc8=%d ibrp1_pmc9=%d ibrp2_pmc8=%d ibrp3_pmc9=%d]\n",
923 int found_btb = 0, found_bad_dear = 0;
925 unsigned int i, pos1, pos2;
947 if (
is_btb(e[
i].event)) found_btb = 1;
959 DPRINT(
"found_btb=%d found_bar_dear=%d\n", found_btb, found_bad_dear);
973 if (found_btb == 0 && has_btb_param == 0 && found_bad_dear == 0)
return PFMLIB_SUCCESS;
975 if (has_btb_param == 0) {
980 if (found_btb == 0)
goto assign_zero;
986 memset(&fake_param, 0,
sizeof(fake_param));
995 DPRINT(
"BTB event with no info\n");
1032 __pfm_vbprintf(
"[PMC12(pmc12)=0x%lx plm=%d pm=%d ds=%d tm=%d ptm=%d ppm=%d brt=%d]\n",
1046 if (found_btb || has_btb_param) {
1050 for(
i=8;
i < 17;
i++, pos2++) {
1053 __pfm_vbprintf(
"[PMD%u(pmd%u)]\n", pd[pos2].reg_num, pd[pos2].reg_num);
1067 pfmlib_reg_t *br,
int nbr,
int dir,
int *idx,
int *reg_idx,
int plm)
1069 unsigned long size, l_addr,
c;
1070 unsigned long l_offs = 0, r_offs = 0;
1071 unsigned long l_size, r_size;
1075 if (nbr < 1 || end <=
start)
return;
1079 DPRINT(
"start=0x%016lx end=0x%016lx size=0x%lx bytes (%lu bundles) nbr=%d dir=%d\n",
1080 start, end, size, size >> 4, nbr, dir);
1086 DPRINT(
"largest power of two possible: 2^%d=0x%lx, crossing=0x%016lx\n",
1090 if ((
c - (1UL<<p2)) >=
start) {
1091 l_addr =
c - (1UL << p2);
1095 if ((
c + (1UL<<p2)) <= end) {
1098 l_addr =
c - (1UL << p2);
1101 l_size = l_addr -
start;
1102 r_size = end - l_addr-(1UL<<p2);
1105 printf(
"largest chunk: 2^%d=0x%lx @0x%016lx-0x%016lx\n", p2, 1UL<<p2, l_addr, l_addr+(1UL<<p2));
1106 if (l_size) printf(
"before: 0x%016lx-0x%016lx\n",
start, l_addr);
1107 if (r_size) printf(
"after : 0x%016lx-0x%016lx\n", l_addr+(1UL<<p2), end);
1110 if (dir == 0 && l_size != 0 && nbr == 1) {
1112 l_addr = end - (1UL << p2);
1114 l_offs =
start - l_addr;
1115 printf(
">>l_offs: 0x%lx\n", l_offs);
1117 }
else if (dir == 1 && r_size != 0 && nbr == 1) {
1121 r_offs = l_addr+(1UL<<p2) - end;
1122 printf(
">>r_offs: 0x%lx\n", r_offs);
1125 l_size = l_addr -
start;
1126 r_size = end - l_addr-(1UL<<p2);
1129 printf(
">>largest chunk: 2^%d @0x%016lx-0x%016lx\n", p2, l_addr, l_addr+(1UL<<p2));
1130 if (l_size && !l_offs) printf(
">>before: 0x%016lx-0x%016lx\n",
start, l_addr);
1131 if (r_size && !r_offs) printf(
">>after : 0x%016lx-0x%016lx\n", l_addr+(1UL<<p2), end);
1155 br[*idx+1].
reg_num = *reg_idx+1;
1166 r_nbr = l_nbr = nbr >>1;
1174 if (l_size > r_size) {
1182 do_normal_rr(l_addr+(1UL<<p2), end, br, r_nbr, 1, idx, reg_idx, plm);
1191 unsigned long r_end;
1196 fine_mode ?
", fine_mode" :
"",
1201 for (j=0; j < n_pairs; j++, base_idx+=2) {
1207 __pfm_vbprintf(
"brp%u: db%u: 0x%016lx db%u: plm=0x%x mask=0x%016lx\n",
1208 dbr[base_idx].reg_num>>1,
1209 dbr[base_idx].reg_num,
1210 dbr[base_idx].reg_value,
1211 dbr[base_idx+1].reg_num,
1214 __pfm_vbprintf(
"brp%u: db%u: 0x%016lx db%u: plm=0x%x mask=0x%016lx end=0x%016lx\n",
1215 dbr[base_idx].reg_num>>1,
1216 dbr[base_idx].reg_num,
1217 dbr[base_idx].reg_value,
1218 dbr[base_idx+1].reg_num,
1242 reg_idx = *base_idx;
1249 for (
i=0;
i < n;
i++, reg_idx += 2, in_rr++, br+= 4) {
1285 addr = in_rr->
rr_end - 0x10;
1303 *base_idx = reg_idx;
1314 unsigned long size, end,
start;
1315 unsigned long p_start, p_end;
1329 reg_idx = *base_idx;
1334 if (size & ((1UL << l)-1)) {
1336 printf(
"range: [0x%lx-0x%lx] too big\n",
start, end);
1342 DPRINT(
"size=%ld, l=%d m=%d, internal: 0x%lx full: 0x%lx\n",
1348 for (; m < 64; m++) {
1350 p_end = p_start+(1UL<<m);
1351 if (p_end >= end)
goto found;
1355 DPRINT(
"m=%d p_start=0x%lx p_end=0x%lx\n", m, p_start,p_end);
1372 out_rr->
rr_eoff = p_end - end;
1379 *base_idx = reg_idx;
1389 unsigned long r_end;
1393 int br_index, reg_idx, prev_index;
1398 reg_idx = *base_idx;
1401 for (
i=0;
i < n;
i++, in_rr++, out_rr++) {
1405 if (br_index == 8)
break;
1407 prev_index = br_index;
1417 DPRINT(
"br_index=%d reg_idx=%d\n", br_index, reg_idx);
1424 for(j=prev_index; j < br_index; j+=2) {
1429 if (br[j].reg_value <= in_rr->rr_start)
1432 if (r_end >= in_rr->
rr_end)
1445 *base_idx = reg_idx;
1461 unsigned int retired_only, retired_count, fine_mode, prefetch_count;
1462 unsigned int n_intervals;
1464 unsigned long retired_mask;
1486 DPRINT(
"n_intervals=%d retired_only=%d retired_count=%d prefetch_count=%d fine_mode=%d\n",
1487 n_intervals, retired_only, retired_count, prefetch_count, fine_mode);
1519 if (fine_mode == 0) {
1527 if (prefetch_count && (prefetch_count+retired_count) != inp->
pfp_event_count)
1530 base_idx = prefetch_count ? 2 : 0;
1537 base_idx = prefetch_count ? 2 : 0;
1581 }
else if (retired_only) {
1603 __pfm_vbprintf(
"[PMC14(pmc14)=0x%lx ibrp0=%d ibrp1=%d ibrp2=%d ibrp3=%d fine=%d]\n",
1641 int iod_codes[4], dfl_val_pmc8, dfl_val_pmc9;
1642 unsigned int n_intervals;
1662 pmc13.
pmc_val = 0x2078fefefefe;
1667 iod_codes[0] = iod_codes[1] = iod_codes[2] = iod_codes[3] = 0;
1723 for(
i=0;
i <= pos;
i++) {
1724 if (pc[
i].reg_num == 14) {
1743 iod_codes[0] = iod_codes[2] = dfl_val_pmc8;
1744 iod_codes[1] = iod_codes[3] = dfl_val_pmc9;
1772 __pfm_vbprintf(
"[PMC13(pmc13)=0x%lx cfg_dbrp0=%d cfg_dbrp1=%d cfg_dbrp2=%d cfg_dbrp3=%d ena_dbrp0=%d ena_dbrp1=%d ena_dbrp2=%d ena_dbrp3=%d]\n",
2033 if (outp == NULL || param == NULL)
return 0;
2063 memset(counters, 0,
sizeof(*counters));
2066 for(
i=0; m ;
i++, m>>=1) {
2098 for(
i=4;
i < 8;
i++)
#define PME_ITA2_IA64_TAGGED_INST_RETIRED_IBRP2_PMC8
#define PME_ITA2_CPU_CYCLES
#define PME_ITA2_L2_OZQ_CANCELS2_ACQ
#define PME_ITA2_IA64_TAGGED_INST_RETIRED_IBRP1_PMC9
#define PME_ITA2_IA64_TAGGED_INST_RETIRED_IBRP0_PMC8
#define PME_ITA2_L1I_PREFETCHES
#define PME_ITA2_L2_INST_PREFETCHES
#define PME_ITA2_EVENT_COUNT
#define PME_ITA2_IA64_TAGGED_INST_RETIRED_IBRP3_PMC9
static pme_ita2_entry_t itanium2_pe[]
#define PME_ITA2_L2_OZQ_CANCELS1_REL
#define PME_ITA2_IA64_INST_RETIRED
#define PME_ITA2_L2_OZQ_CANCELS0_ANY
#define PME_ITA2_IA64_INST_RETIRED_THIS
#define PME_ITA2_L1I_STRM_PREFETCHES
static struct timeval start
static double c[MATRIX_SIZE][MATRIX_SIZE]
#define PFMLIB_ERR_FEATCOMB
#define PFMLIB_ERR_IRRALIGN
#define PFMLIB_ERR_EVTSET
static int pfm_regmask_set(pfmlib_regmask_t *h, unsigned int b)
#define PFMLIB_ERR_EVTINCOMP
#define PFMLIB_ERR_DRRTOOMANY
#define PFMLIB_ERR_DRRINVAL
#define PFMLIB_ERR_TOOMANY
#define PFMLIB_ERR_IRRTOOBIG
static int pfm_regmask_isset(pfmlib_regmask_t *h, unsigned int b)
#define PFMLIB_ITANIUM2_PMU
#define PFMLIB_ERR_IRRTOOMANY
#define PFMLIB_ERR_NOASSIGN
#define PFMLIB_PFP_SYSTEMWIDE
#define PFMLIB_ERR_IRRINVAL
pfm_err_t pfm_get_event_code(unsigned int idx, int *code)
#define PFMLIB_ERR_NOTSUPP
static int check_fine_mode_possible(pfmlib_ita2_input_rr_t *rr, int n)
static int cancel_events[]
pfm_pmu_support_t itanium2_support
int pfm_ita2_support_darr(unsigned int i)
static int pfm_ita2_get_event_description(unsigned int ev, char **str)
static int pfm_dispatch_btb(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in, pfmlib_output_param_t *outp)
static int valid_assign(pfmlib_event_t *e, unsigned int *as, pfmlib_regmask_t *r_pmcs, unsigned int cnt)
static int pfm_ita2_get_inst_retired(pfmlib_event_t *e)
int pfm_ita2_support_iarr(unsigned int i)
static int pfm_dispatch_irange(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in, pfmlib_output_param_t *outp, pfmlib_ita2_output_param_t *mod_out)
static const unsigned long iod_tab[8]
static int check_cross_groups_and_umasks(pfmlib_input_param_t *inp)
static int pfm_ita2_dispatch_counters(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in, pfmlib_output_param_t *outp)
static int has_fine_mode_bug
static int pfm_ita2_detect(void)
static int pfm_ita2_dispatch_events(pfmlib_input_param_t *inp, void *model_in, pfmlib_output_param_t *outp, void *model_out)
static void print_one_range(pfmlib_ita2_input_rr_desc_t *in_rr, pfmlib_ita2_output_rr_desc_t *out_rr, pfmlib_reg_t *dbr, int base_idx, int n_pairs, int fine_mode, unsigned int rr_flags)
static void pfm_ita2_get_event_counters(unsigned int j, pfmlib_regmask_t *counters)
static int pfm_ita2_get_event_code(unsigned int i, unsigned int cnt, int *code)
int pfm_ita2_support_opcm(unsigned int i)
static int compute_single_rr(pfmlib_ita2_input_rr_t *irr, int dfl_plm, int *base_idx, pfmlib_ita2_output_rr_t *orr)
#define has_counter(e, b)
int pfm_ita2_get_event_group(unsigned int i, int *grp)
int pfm_ita2_get_ear_mode(unsigned int i, pfmlib_ita2_ear_mode_t *m)
static unsigned int check_inst_retired_events(pfmlib_input_param_t *inp, unsigned long *retired_mask)
int pfm_ita2_is_ear(unsigned int i)
int pfm_ita2_is_iear(unsigned int i)
static void pfm_ita2_get_impl_counters(pfmlib_regmask_t *impl_counters)
static int check_qualifier_constraints(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in)
int pfm_ita2_get_event_maxincr(unsigned int i, unsigned int *maxincr)
int pfm_ita2_is_dear_tlb(unsigned int i)
static int pfm_dispatch_iear(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in, pfmlib_output_param_t *outp)
static void pfm_ita2_get_impl_pmds(pfmlib_regmask_t *impl_pmds)
int pfm_ita2_is_dear_alat(unsigned int i)
static int prefetch_events[]
static int check_prefetch_events(pfmlib_input_param_t *inp)
int pfm_ita2_is_iear_tlb(unsigned int i)
static int pfm_dispatch_opcm(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in, pfmlib_output_param_t *outp, pfmlib_ita2_output_param_t *mod_out)
static int compute_fine_rr(pfmlib_ita2_input_rr_t *irr, int dfl_plm, int n, int *base_idx, pfmlib_ita2_output_rr_t *orr)
static int check_intervals(pfmlib_ita2_input_rr_t *irr, int mode, unsigned int *n_intervals)
int pfm_ita2_get_event_umask(unsigned int i, unsigned long *umask)
static void pfm_ita2_get_hw_counter_width(unsigned int *width)
static int compute_normal_rr(pfmlib_ita2_input_rr_t *irr, int dfl_plm, int n, int *base_idx, pfmlib_ita2_output_rr_t *orr)
static int pfm_dispatch_dear(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in, pfmlib_output_param_t *outp)
static int pfm_dispatch_drange(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in, pfmlib_output_param_t *outp, pfmlib_ita2_output_param_t *mod_out)
static void do_normal_rr(unsigned long start, unsigned long end, pfmlib_reg_t *br, int nbr, int dir, int *idx, int *reg_idx, int plm)
static int pfm_ita2_get_cycle_event(pfmlib_event_t *e)
static char * pfm_ita2_get_event_name(unsigned int i)
int pfm_ita2_irange_is_fine(pfmlib_output_param_t *outp, pfmlib_ita2_output_param_t *mod_out)
#define evt_use_irange(e)
int pfm_ita2_is_iear_cache(unsigned int i)
static int check_range_plm(pfmlib_input_param_t *inp, pfmlib_ita2_input_param_t *mod_in)
#define evt_use_drange(e)
static int check_cancel_events(pfmlib_input_param_t *inp)
int pfm_ita2_is_btb(unsigned int i)
int pfm_ita2_get_event_set(unsigned int i, int *set)
static void pfm_ita2_get_impl_pmcs(pfmlib_regmask_t *impl_pmcs)
int pfm_ita2_is_dear(unsigned int i)
int pfm_ita2_is_dear_cache(unsigned int i)
#define PFMLIB_ITA2_EVT_NO_SET
#define PFMLIB_ITA2_RR_NO_FINE_MODE
#define PMU_ITA2_NUM_PMCS
#define PFMLIB_ITA2_RR_INV
#define PFMLIB_ITA2_EVT_L2_CACHE_GRP
#define PMU_ITA2_COUNTER_WIDTH
@ PFMLIB_ITA2_EAR_CACHE_MODE
@ PFMLIB_ITA2_EAR_TLB_MODE
@ PFMLIB_ITA2_EAR_ALAT_MODE
#define PFMLIB_ITA2_EVT_L1_CACHE_GRP
#define PMU_ITA2_NUM_PMDS
#define PFMLIB_ITA2_EVT_NO_GRP
#define PMU_ITA2_FIRST_COUNTER
#define PFMLIB_ITA2_FL_EVT_NO_QUALCHECK
#define PMU_ITA2_NUM_COUNTERS
void __pfm_vbprintf(const char *fmt,...)
#define DPRINT(fmt, a...)
static int pfm_ia64_fls(unsigned long x)
static int pfm_ia64_get_cpu_family(void)
pfmlib_ita2_ism_t ear_ism
pfmlib_ita2_ear_mode_t ear_mode
pfmlib_ita2_output_rr_t pfp_ita2_irange
pfmlib_ita2_output_rr_t pfp_ita2_drange
pfmlib_ita2_output_rr_desc_t rr_infos[4]
pfmlib_reg_t pfp_pmds[PFMLIB_MAX_PMDS]
pfmlib_reg_t pfp_pmcs[PFMLIB_MAX_PMCS]
unsigned int pfp_pmc_count
unsigned int pfp_pmd_count
unsigned long long reg_value
unsigned long reg_alt_addr
unsigned long long reg_addr
unsigned long pme_counters
unsigned long darc_ena_dbrp0
struct pfm_ita2_pmc_reg_t::@46 pmc10_ita2_cache_reg
unsigned long darc_ena_dbrp2
unsigned long opcmc_ibrp0_pmc8
struct pfm_ita2_pmc_reg_t::@51 pmc14_ita2_reg
unsigned long darc_cfg_dbrp2
unsigned long darc_ena_dbrp3
struct pfm_ita2_pmc_reg_t::@45 pmc8_9_ita2_reg
struct pfm_ita2_pmc_reg_t::@47 pmc10_ita2_tlb_reg
unsigned long darc_cfg_dbrp3
struct pfm_ita2_pmc_reg_t::@48 pmc11_ita2_reg
unsigned long darc_cfg_dbrp0
struct pfm_ita2_pmc_reg_t::@50 pmc13_ita2_reg
unsigned long darc_cfg_dbrp1
struct pfm_ita2_pmc_reg_t::@52 pmc15_ita2_reg
unsigned long opcmc_ibrp2_pmc8
struct pfm_ita2_pmc_reg_t::@49 pmc12_ita2_reg
unsigned long opcmc_ibrp1_pmc9
unsigned long opcmc_ibrp3_pmc9
unsigned long darc_ena_dbrp1