Lines Matching refs:pil
527 hilevel_intr_prolog(struct cpu *cpu, uint_t pil, uint_t oldpil, struct regs *rp) in hilevel_intr_prolog() argument
534 ASSERT(pil > LOCK_LEVEL); in hilevel_intr_prolog()
536 if (pil == CBE_HIGH_PIL) { in hilevel_intr_prolog()
561 ASSERT(nestpil < pil); in hilevel_intr_prolog()
591 mcpu->pil_high_start[pil - (LOCK_LEVEL + 1)] = now; in hilevel_intr_prolog()
593 ASSERT((cpu->cpu_intr_actv & (1 << pil)) == 0); in hilevel_intr_prolog()
595 if (pil == 15) { in hilevel_intr_prolog()
608 cpu->cpu_intr_actv |= (1 << pil); in hilevel_intr_prolog()
623 hilevel_intr_epilog(struct cpu *cpu, uint_t pil, uint_t oldpil, uint_t vecnum) in hilevel_intr_epilog() argument
630 ASSERT(mcpu->mcpu_pri == pil); in hilevel_intr_epilog()
632 cpu->cpu_stats.sys.intr[pil - 1]++; in hilevel_intr_epilog()
634 ASSERT(cpu->cpu_intr_actv & (1 << pil)); in hilevel_intr_epilog()
636 if (pil == 15) { in hilevel_intr_epilog()
648 cpu->cpu_intr_actv &= ~(1 << pil); in hilevel_intr_epilog()
650 cpu->cpu_intr_actv &= ~(1 << pil); in hilevel_intr_epilog()
653 ASSERT(mcpu->pil_high_start[pil - (LOCK_LEVEL + 1)] != 0); in hilevel_intr_epilog()
655 intrtime = now - mcpu->pil_high_start[pil - (LOCK_LEVEL + 1)]; in hilevel_intr_epilog()
656 mcpu->intrstat[pil][0] += intrtime; in hilevel_intr_epilog()
672 ASSERT(nestpil < pil); in hilevel_intr_epilog()
704 intr_thread_prolog(struct cpu *cpu, caddr_t stackptr, uint_t pil) in intr_thread_prolog() argument
710 ASSERT(pil > 0); in intr_thread_prolog()
711 ASSERT((cpu->cpu_intr_actv & (1 << pil)) == 0); in intr_thread_prolog()
712 cpu->cpu_intr_actv |= (1 << pil); in intr_thread_prolog()
754 it->t_pil = (uchar_t)pil; in intr_thread_prolog()
755 it->t_pri = intr_pri + (pri_t)pil; in intr_thread_prolog()
775 uint_t pil, basespl; in intr_thread_epilog() local
779 pil = it->t_pil; in intr_thread_epilog()
780 cpu->cpu_stats.sys.intr[pil - 1]++; in intr_thread_epilog()
784 mcpu->intrstat[pil][0] += intrtime; in intr_thread_epilog()
787 ASSERT(cpu->cpu_intr_actv & (1 << pil)); in intr_thread_epilog()
788 cpu->cpu_intr_actv &= ~(1 << pil); in intr_thread_epilog()
840 pil = MAX(oldpil, basespl); in intr_thread_epilog()
841 mcpu->mcpu_pri = pil; in intr_thread_epilog()
842 (*setlvlx)(pil, vec); in intr_thread_epilog()
911 uint_t pil; in intr_get_time() local
917 pil = t->t_pil; in intr_get_time()
920 ASSERT(pil != 0); in intr_get_time()
927 time = mcpu->intrstat[pil][0] + delta; in intr_get_time()
928 ret = time - mcpu->intrstat[pil][1]; in intr_get_time()
929 mcpu->intrstat[pil][0] = time; in intr_get_time()
930 mcpu->intrstat[pil][1] = time; in intr_get_time()
946 uint_t pil; in dosoftint_prolog() local
952 pil = bsrw_insn((uint16_t)st_pending); in dosoftint_prolog()
953 if (pil <= oldpil || pil <= cpu->cpu_base_spl) in dosoftint_prolog()
983 &mcpu->mcpu_softinfo.st_pending, pil) == 0) { in dosoftint_prolog()
988 mcpu->mcpu_pri = pil; in dosoftint_prolog()
989 (*setspl)(pil); in dosoftint_prolog()
1005 mcpu->intrstat[pil][0] += intrtime; in dosoftint_prolog()
1035 ASSERT((cpu->cpu_intr_actv & (1 << pil)) == 0); in dosoftint_prolog()
1036 cpu->cpu_intr_actv |= (1 << pil); in dosoftint_prolog()
1041 it->t_pil = (uchar_t)pil; in dosoftint_prolog()
1042 it->t_pri = (pri_t)pil + intr_pri; in dosoftint_prolog()
1053 uint_t pil, basespl; in dosoftint_epilog() local
1058 pil = it->t_pil; in dosoftint_epilog()
1060 cpu->cpu_stats.sys.intr[pil - 1]++; in dosoftint_epilog()
1062 ASSERT(cpu->cpu_intr_actv & (1 << pil)); in dosoftint_epilog()
1063 cpu->cpu_intr_actv &= ~(1 << pil); in dosoftint_epilog()
1065 mcpu->intrstat[pil][0] += intrtime; in dosoftint_epilog()
1095 pil = MAX(oldpil, basespl); in dosoftint_epilog()
1096 mcpu->mcpu_pri = pil; in dosoftint_epilog()
1097 (*setspl)(pil); in dosoftint_epilog()