/titanic_41/usr/src/uts/i86pc/os/ |
H A D | intr.c | 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() [all …]
|
/titanic_41/usr/src/uts/i86pc/io/apix/ |
H A D | apix_intr.c | 227 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 D | ivintr.c | 184 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 D | ebus.c | 746 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 D | promif_mon.c | 66 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 D | interrupt.s | 64 ! %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 D | xc.s | 96 rdpr %pil, %g4
|
/titanic_41/usr/src/psm/stand/boot/sparc/common/ |
H A D | sparcv9_subr.s | 227 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 D | ivintr.h | 118 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 D | intr.c | 334 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 D | sparcv9_subr.s | 76 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 D | lock_prim.s | 288 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 D | pci_ib.c | 539 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 D | px_ib.c | 485 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 D | px_ib.h | 142 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 D | kvm_v9dep.c | 250 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 D | intr.c | 46 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 D | cnex.c | 611 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 D | mach_interrupt.s | 452 rdpr %pil, %g4 476 rdpr %pil, %g4 645 rdpr %pil, %g4 657 rdpr %pil, %g4
|
H A D | mach_locore.s | 964 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 D | pci_ib.h | 206 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 D | mach_locore.s | 800 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 D | intrd.pl | 251 $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 D | machsystm.h | 233 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 D | cnex.h | 49 uint32_t pil; /* PIL for device class */ member
|