Lines Matching defs:ipl
97 static int apic_getclkirq(int ipl);
101 static int apic_intr_enter(int ipl, int *vect);
102 static void apic_setspl(int ipl);
103 static void x2apic_setspl(int ipl);
104 static int apic_addspl(int ipl, int vector, int min_ipl, int max_ipl);
105 static int apic_delspl(int ipl, int vector, int min_ipl, int max_ipl);
108 static int apic_get_ipivect(int ipl, int type);
138 * The ipl of an ISR at vector X is apic_vectortoipl[X>>4]
143 uchar_t apic_ipltopri[MAXIPL + 1]; /* unix ipl to apic pri */
144 /* The taskpri to be programmed into apic to mask given ipl */
288 /* get to highest vector at the same ipl */
375 int ipl = APIC_PCINT_IPL;
376 int irq = apic_get_ipivect(ipl, -1);
382 (void) add_avintr(NULL, ipl,
411 int ipl = 0xf; /* get highest priority intr */
412 int irq = apic_get_ipivect(ipl, -1);
421 (void) add_avintr((void *)NULL, ipl,
443 int ipl = 0x2;
444 int irq = apic_get_ipivect(ipl, -1);
450 (void) add_avintr(NULL, ipl,
544 apic_intr_enter(int ipl, int *vectorp)
692 apic_setspl(int ipl)
694 apic_reg_ops->apic_write_task_reg(apic_ipltopri[ipl]);
696 /* interrupts at ipl above this cannot be in progress */
697 apic_cpus[psm_get_cpu_id()].aci_ISR_in_progress &= (2 << ipl) - 1;
712 x2apic_setspl(int ipl)
714 X2APIC_WRITE(APIC_TASK_REG, apic_ipltopri[ipl]);
716 /* interrupts at ipl above this cannot be in progress */
717 apic_cpus[psm_get_cpu_id()].aci_ISR_in_progress &= (2 << ipl) - 1;
722 apic_addspl(int irqno, int ipl, int min_ipl, int max_ipl)
724 return (apic_addspl_common(irqno, ipl, min_ipl, max_ipl));
728 apic_delspl(int irqno, int ipl, int min_ipl, int max_ipl)
730 return (apic_delspl_common(irqno, ipl, min_ipl, max_ipl));
795 apic_get_ipivect(int ipl, int type)
800 if ((irq = apic_allocate_irq(APIC_VECTOR(ipl))) != -1) {
801 if ((vector = apic_allocate_vector(ipl, irq, 1))) {
806 apic_resv_vector[ipl] = vector;
816 apic_getclkirq(int ipl)
820 if ((irq = apic_get_ipivect(ipl, -1)) == -1)
1234 * Allocate a free vector for irq at ipl. Takes care of merging of multiple
1240 apic_allocate_vector(int ipl, int irq, int pri)
1244 highest = apic_ipltopri[ipl] + APIC_VECTOR_MASK;
1245 lowest = apic_ipltopri[ipl - 1] + APIC_VECTOR_PER_IPL;
1247 if (highest < lowest) /* Both ipl and ipl - 1 map to same pri */