Home
last modified time | relevance | path

Searched refs:pil (Results 1 – 25 of 56) sorted by relevance

123

/titanic_41/usr/src/uts/i86pc/os/
H A Dintr.c527 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()
[all …]
/titanic_41/usr/src/uts/i86pc/io/apix/
H A Dapix_intr.c227 apix_do_softint_prolog(struct cpu *cpu, uint_t pil, uint_t oldpil, in apix_do_softint_prolog() argument
235 ASSERT(pil > mcpu->mcpu_pri && pil > cpu->cpu_base_spl); in apix_do_softint_prolog()
237 atomic_and_32((uint32_t *)&mcpu->mcpu_softinfo.st_pending, ~(1 << pil)); in apix_do_softint_prolog()
239 mcpu->mcpu_pri = pil; in apix_do_softint_prolog()
256 mcpu->intrstat[pil][0] += intrtime; in apix_do_softint_prolog()
286 ASSERT((cpu->cpu_intr_actv & (1 << pil)) == 0); in apix_do_softint_prolog()
287 cpu->cpu_intr_actv |= (1 << pil); in apix_do_softint_prolog()
292 it->t_pil = (uchar_t)pil; in apix_do_softint_prolog()
293 it->t_pri = (pri_t)pil + intr_pri; in apix_do_softint_prolog()
304 uint_t pil, basespl; in apix_do_softint_epilog() local
[all …]
/titanic_41/usr/src/uts/sun4/io/
H A Divintr.c184 add_ivintr(uint_t inum, uint_t pil, intrfunc intr_handler, in add_ivintr() argument
189 if (inum >= MAXIVNUM || pil > PIL_MAX) in add_ivintr()
202 if (iv_p->iv_pil == pil) { in add_ivintr()
215 new_iv_p->iv_pil = (ushort_t)pil; in add_ivintr()
229 rem_ivintr(uint_t inum, uint_t pil) in rem_ivintr() argument
233 if (inum >= MAXIVNUM || pil > PIL_MAX) in rem_ivintr()
240 if (iv_p->iv_pil == pil) in rem_ivintr()
265 add_softintr(uint_t pil, softintrfunc intr_handler, caddr_t intr_arg1, in add_softintr() argument
270 if (pil > PIL_MAX) in add_softintr()
277 iv_p->iv_pil = (ushort_t)pil; in add_softintr()
[all …]
H A Debus.c746 uint32_t pil; member
813 ebus_name_to_pil[i].pil); in ebus_intr_ops()
815 hdlp->ih_pri = ebus_name_to_pil[i].pil; in ebus_intr_ops()
831 string, ebus_device_type_to_pil[i].pil); in ebus_intr_ops()
833 hdlp->ih_pri = ebus_device_type_to_pil[i].pil; in ebus_intr_ops()
/titanic_41/usr/src/uts/sun4v/promif/
H A Dpromif_mon.c66 PIL_DECL(pil); in promif_exit_to_mon()
68 PIL_SET7(pil); in promif_exit_to_mon()
82 PIL_REST(pil); in promif_exit_to_mon()
93 PIL_DECL(pil); in promif_enter_mon()
95 PIL_SET7(pil); in promif_enter_mon()
140 PIL_REST(pil); in promif_enter_mon()
/titanic_41/usr/src/uts/sun4/ml/
H A Dinterrupt.s64 ! %g4 - pil
67 ! Grab the first or list head intr_vec_t off the intr_head[pil]
69 ! intr_head[pil] to next intr_vec_t on the list and clear softint
75 sll %g4, CPTRSHIFT, %g5 ! %g5 = offset to the pil entry
77 add %g6, %g5, %g6 ! %g6 = &cpu->m_cpu.intr_head[pil]
78 ldn [%g6], %g2 ! %g2 = cpu->m_cpu.intr_head[pil]
94 stn %g3, [%g6] ! update cpu->m_cpu.intr_head[pil]
96 stn %g0, [%g5 + %g6] ! clear cpu->m_cpu.intr_tail[pil]
98 sll %g5, %g4, %g5 ! %g5 = 1 << pil
99 wr %g5, CLEAR_SOFTINT ! clear interrupt on this pil
[all …]
H A Dxc.s96 rdpr %pil, %g4
/titanic_41/usr/src/psm/stand/boot/sparc/common/
H A Dsparcv9_subr.s227 rdpr %pil, %o1 ! get current pil
228 wrpr %o0, %pil
263 rdpr %pil, %o1 ! get current pil
267 wrpr %o0, %pil
269 mov %o1, %o0 ! return the old pil
/titanic_41/usr/src/uts/sun4/sys/
H A Divintr.h118 extern int add_ivintr(uint_t inum, uint_t pil, intrfunc intr_handler,
120 extern int rem_ivintr(uint_t inum, uint_t pil);
122 extern uint64_t add_softintr(uint_t pil, softintrfunc intr_handler,
126 extern int update_softint_pri(uint64_t softint_id, uint_t pil);
/titanic_41/usr/src/uts/sun4/os/
H A Dintr.c334 no_ivintr(struct regs *rp, int inum, int pil) in no_ivintr() argument
338 inum, pil); in no_ivintr()
346 intr_dequeue_req(uint_t pil, uint64_t inum) in intr_dequeue_req() argument
361 next = mcpu->intr_head[pil]; in intr_dequeue_req()
378 mcpu->intr_head[pil] = next_iv; /* head */ in intr_dequeue_req()
381 mcpu->intr_tail[pil] = prev; /* tail */ in intr_dequeue_req()
385 if (mcpu->intr_head[pil] == NULL) { in intr_dequeue_req()
386 clr = 1 << pil; in intr_dequeue_req()
387 if (pil == PIL_14) in intr_dequeue_req()
842 create_softint(uint_t pil, uint_t (*func)(caddr_t, caddr_t), caddr_t arg1) in create_softint() argument
[all …]
/titanic_41/usr/src/uts/sparc/v9/ml/
H A Dsparcv9_subr.s76 rdpr %pil, %o1; /* get current PIL */ \
80 wrpr %g0, PIL_MAX, %pil; /* freeze CPU_BASE_SPL */ \
85 wrpr %g0, %o2, %pil; \
97 rdpr %pil, %o1; /* get current PIL */ \
101 wrpr %g0, level, %pil; /* use chose value */ \
114 rdpr %pil, %o1; /* get current PIL */ \
115 wrpr %g0, PIL_MAX, %pil; /* freeze CPU_BASE_SPL */ \
120 wrpr %g0, %o2, %pil; \
132 rdpr %pil, %o1; /* get current PIL */ \
133 wrpr %g0, level, %pil; \
H A Dlock_prim.s288 rdpr %pil, %o3 ! %o3 = current pil
289 cmp %o3, %o1 ! is current pil high enough?
290 bl,a,pt %icc, 1f ! if not, write %pil in delay
291 wrpr %g0, %o1, %pil
298 sth %o3, [%o2] ! delay - save original pil
333 wrpr %g0, %o2, %pil
/titanic_41/usr/src/uts/sun4u/io/pci/
H A Dpci_ib.c539 ib_new_ino_pil(ib_t *ib_p, ib_ino_t ino_num, uint_t pil, ih_t *ih_p) in ib_new_ino_pil() argument
556 ino_p->ino_lopil = pil; in ib_new_ino_pil()
560 ipil_p->ipil_pil = pil; in ib_new_ino_pil()
571 if (ino_p->ino_lopil > pil) in ib_new_ino_pil()
572 ino_p->ino_lopil = pil; in ib_new_ino_pil()
582 ushort_t pil = ipil_p->ipil_pil; in ib_delete_ino_pil() local
599 if ((--ino_p->ino_ipil_size) && (ino_p->ino_lopil == pil)) { in ib_delete_ino_pil()
600 for (next = ino_p->ino_ipil_p, pil = next->ipil_pil; in ib_delete_ino_pil()
603 if (pil > next->ipil_pil) in ib_delete_ino_pil()
604 pil = next->ipil_pil; in ib_delete_ino_pil()
[all …]
/titanic_41/usr/src/uts/sun4/io/px/
H A Dpx_ib.c485 px_ib_new_ino_pil(px_ib_t *ib_p, devino_t ino_num, uint_t pil, px_ih_t *ih_p) in px_ib_new_ino_pil() argument
496 ipil_p->ipil_pil = pil; in px_ib_new_ino_pil()
507 if ((ino_p->ino_lopil == 0) || (ino_p->ino_lopil > pil)) in px_ib_new_ino_pil()
508 ino_p->ino_lopil = pil; in px_ib_new_ino_pil()
517 ushort_t pil = ipil_p->ipil_pil; in px_ib_delete_ino_pil() local
535 if ((--ino_p->ino_ipil_size) && (ino_p->ino_lopil == pil)) { in px_ib_delete_ino_pil()
536 for (next = ino_p->ino_ipil_p, pil = next->ipil_pil; in px_ib_delete_ino_pil()
539 if (pil > next->ipil_pil) in px_ib_delete_ino_pil()
540 pil = next->ipil_pil; in px_ib_delete_ino_pil()
546 ino_p->ino_lopil = pil; in px_ib_delete_ino_pil()
[all …]
H A Dpx_ib.h142 extern px_ino_pil_t *px_ib_ino_locate_ipil(px_ino_t *ino_p, uint_t pil);
145 uint_t pil, px_ih_t *ih_p);
158 devino_t ino, uint_t pil, uint_t new_intr_state,
/titanic_41/usr/src/cmd/mdb/sparc/mdb/
H A Dkvm_v9dep.c250 uint32_t pil; in kt_sparcv9_init() local
362 if (mdb_tgt_readsym(t, MDB_TGT_AS_VIRT, &pil, sizeof (pil), in kt_sparcv9_init()
363 MDB_TGT_OBJ_EXEC, "panic_ipl") == sizeof (pil)) in kt_sparcv9_init()
364 kregs[KREG_PIL] = pil; in kt_sparcv9_init()
/titanic_41/usr/src/cmd/mdb/sparc/modules/intr/
H A Dintr.c46 uint32_t pil; member
250 info.pil = niumx_state.niumx_ihtable[i].ih_pri; in intr_niumx_walk_step()
337 info.pil = ipil.ipil_pil; in intr_pci_print_items()
439 info.pil = ipil.ipil_pil; in intr_px_print_items()
507 mdb_printf(" %4d\t", info.pil); in intr_print_elements()
531 mdb_printf("Pil:\t\t%d\n", info.pil); in intr_print_elements()
/titanic_41/usr/src/uts/sun4v/io/
H A Dcnex.c611 int rv, idx, pil; in cnex_add_intr() local
684 for (idx = 0, pil = PIL_3; idx < CNEX_MAX_DEVS; idx++) { in cnex_add_intr()
686 pil = cnex_class_to_intr[idx].pil; in cnex_add_intr()
692 if (add_ivintr(iinfo->icookie, pil, (intrfunc)cnex_intr_wrapper, in cnex_add_intr()
734 (void) rem_ivintr(iinfo->icookie, pil); in cnex_add_intr()
800 int rv, idx, pil; in cnex_rem_intr() local
878 for (idx = 0, pil = PIL_3; idx < CNEX_MAX_DEVS; idx++) { in cnex_rem_intr()
880 pil = cnex_class_to_intr[idx].pil; in cnex_rem_intr()
888 (void) rem_ivintr(iinfo->icookie, pil); in cnex_rem_intr()
/titanic_41/usr/src/uts/sun4v/ml/
H A Dmach_interrupt.s452 rdpr %pil, %g4
476 rdpr %pil, %g4
645 rdpr %pil, %g4
657 rdpr %pil, %g4
H A Dmach_locore.s964 rdpr %pil, %o0 ! compare old pil level
965 cmp %l6, %o0 ! with current pil level
966 movg %xcc, %o0, %l6 ! if current is lower, drop old pil
1011 ! set %pil from max(old pil, cpu_base_spl)
1017 wrpr %g0, %l0, %pil
/titanic_41/usr/src/uts/sun4u/sys/pci/
H A Dpci_ib.h206 extern ib_ino_pil_t *ib_new_ino_pil(ib_t *ib_p, ib_ino_t ino_num, uint_t pil,
210 extern ib_ino_pil_t *ib_ino_locate_ipil(ib_ino_info_t *ino_p, uint_t pil);
223 extern uint32_t ib_register_intr(ib_t *ib_p, ib_mondo_t mondo, uint_t pil,
/titanic_41/usr/src/uts/sun4u/ml/
H A Dmach_locore.s800 rdpr %pil, %o0 ! compare old pil level
801 cmp %l6, %o0 ! with current pil level
802 movg %xcc, %o0, %l6 ! if current is lower, drop old pil
847 ! set %pil from max(old pil, cpu_base_spl)
853 wrpr %g0, %l0, %pil
/titanic_41/usr/src/cmd/intrd/
H A Dintrd.pl251 $stat{$cpu}{ivecs}{$cookie}{pil} = $intrcfg->{pil};
511 $dltivec{pil} = $newivec->{pil};
583 $newivecs->{$inum}{pil} = $ivec->{pil};
/titanic_41/usr/src/uts/sun4u/sys/
H A Dmachsystm.h233 extern void intr_enqueue_req(uint_t pil, uint64_t inum);
234 extern void intr_dequeue_req(uint_t pil, uint64_t inum);
/titanic_41/usr/src/uts/sun4v/sys/
H A Dcnex.h49 uint32_t pil; /* PIL for device class */ member

123