Lines Matching defs:ri

392 p6_read_pmc(int cpu, int ri, pmc_value_t *v)
400 KASSERT(ri >= 0 && ri < P6_NPMCS,
401 ("[p6,%d] illegal row-index %d", __LINE__, ri));
403 pm = p6_pcpu[cpu]->pc_p6pmcs[ri].phw_pmc;
404 pd = &p6_pmcdesc[ri];
407 ("[p6,%d] cpu %d ri %d pmc not configured", __LINE__, cpu, ri));
415 PMCDBG(MDP,REA,1, "p6-read cpu=%d ri=%d msr=0x%x -> v=%jx", cpu, ri,
422 p6_write_pmc(int cpu, int ri, pmc_value_t v)
429 KASSERT(ri >= 0 && ri < P6_NPMCS,
430 ("[p6,%d] illegal row-index %d", __LINE__, ri));
432 pm = p6_pcpu[cpu]->pc_p6pmcs[ri].phw_pmc;
433 pd = &p6_pmcdesc[ri];
436 ("[p6,%d] cpu %d ri %d pmc not configured", __LINE__, cpu, ri));
438 PMCDBG(MDP,WRI,1, "p6-write cpu=%d ri=%d msr=0x%x v=%jx", cpu, ri,
450 p6_config_pmc(int cpu, int ri, struct pmc *pm)
455 KASSERT(ri >= 0 && ri < P6_NPMCS,
456 ("[p6,%d] illegal row-index %d", __LINE__, ri));
458 PMCDBG(MDP,CFG,1, "p6-config cpu=%d ri=%d pm=%p", cpu, ri, pm);
463 p6_pcpu[cpu]->pc_p6pmcs[ri].phw_pmc = pm;
473 p6_get_config(int cpu, int ri, struct pmc **ppm)
478 KASSERT(ri >= 0 && ri < P6_NPMCS,
479 ("[p6,%d] illegal row-index %d", __LINE__, ri));
481 *ppm = p6_pcpu[cpu]->pc_p6pmcs[ri].phw_pmc;
494 p6_allocate_pmc(int cpu, int ri, struct pmc *pm,
506 KASSERT(ri >= 0 && ri < P6_NPMCS,
507 ("[p6,%d] illegal row-index value %d", __LINE__, ri));
509 pd = &p6_pmcdesc[ri];
511 PMCDBG(MDP,ALL,1, "p6-allocate ri=%d class=%d pmccaps=0x%x "
512 "reqcaps=0x%x", ri, pd->pm_descr.pd_class, pd->pm_descr.pd_caps,
533 !P6_EVENT_VALID_FOR_CTR(pevent, (ri-1)))
588 p6_release_pmc(int cpu, int ri, struct pmc *pm)
592 PMCDBG(MDP,REL,1, "p6-release cpu=%d ri=%d pm=%p", cpu, ri, pm);
596 KASSERT(ri >= 0 && ri < P6_NPMCS,
597 ("[p6,%d] illegal row-index %d", __LINE__, ri));
599 KASSERT(p6_pcpu[cpu]->pc_p6pmcs[ri].phw_pmc == NULL,
606 p6_start_pmc(int cpu, int ri)
615 KASSERT(ri >= 0 && ri < P6_NPMCS,
616 ("[p6,%d] illegal row-index %d", __LINE__, ri));
619 pm = pc->pc_p6pmcs[ri].phw_pmc;
620 pd = &p6_pmcdesc[ri];
623 ("[p6,%d] starting cpu%d,ri%d with no pmc configured",
624 __LINE__, cpu, ri));
626 PMCDBG(MDP,STA,1, "p6-start cpu=%d ri=%d", cpu, ri);
630 PMCDBG(MDP,STA,2, "p6-start/2 cpu=%d ri=%d evselmsr=0x%x config=0x%x",
631 cpu, ri, pd->pm_evsel_msr, config);
633 P6_MARK_STARTED(pc, ri);
642 p6_stop_pmc(int cpu, int ri)
650 KASSERT(ri >= 0 && ri < P6_NPMCS,
651 ("[p6,%d] illegal row index %d", __LINE__, ri));
654 pm = pc->pc_p6pmcs[ri].phw_pmc;
655 pd = &p6_pmcdesc[ri];
658 ("[p6,%d] cpu%d ri%d no configured PMC to stop", __LINE__,
659 cpu, ri));
661 PMCDBG(MDP,STO,1, "p6-stop cpu=%d ri=%d", cpu, ri);
664 P6_MARK_STOPPED(pc, ri); /* update software state */
668 PMCDBG(MDP,STO,2, "p6-stop/2 cpu=%d ri=%d", cpu, ri);
676 int error, retval, ri;
692 for (ri = 0; ri < P6_NPMCS; ri++) {
694 if ((pm = pc->pc_p6pmcs[ri].phw_pmc) == NULL ||
699 if (!P6_PMC_HAS_OVERFLOWED(ri))
710 P6_MARK_STOPPED(pc,ri);
714 wrmsr(P6_MSR_PERFCTR0 + ri,
736 p6_describe(int cpu, int ri, struct pmc_info *pi,
746 KASSERT(ri >= 0 && ri < P6_NPMCS,
747 ("[p6,%d] row-index %d out of range", __LINE__, ri));
749 phw = pmc_pcpu[cpu]->pc_hwpmcs[ri];
750 pd = &p6_pmcdesc[ri];
752 KASSERT(phw == &p6_pcpu[cpu]->pc_p6pmcs[ri],
773 p6_get_msr(int ri, uint32_t *msr)
775 KASSERT(ri >= 0 && ri < P6_NPMCS,
776 ("[p6,%d ri %d out of range", __LINE__, ri));
778 *msr = p6_pmcdesc[ri].pm_pmc_msr - P6_MSR_PERFCTR0;