Lines Matching refs:vector

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);
112 * The following vector assignments influence the value of ipltopri and
116 * will share the vector ranges and heavily used IPLs (5 and 6) have
138 * The ipl of an ISR at vector X is apic_vectortoipl[X>>4]
139 * NOTE that this is vector as passed into intr_enter which is
140 * programmed vector - 0x20 (APIC_BASE_VECT)
147 * Correlation of the hardware vector to the IPL in use, initialized
288 /* get to highest vector at the same ipl */
345 * Presence of an invalid vector with delivery mode AV_FIXED can
347 * write a valid vector to LVT entries along with the mask bit
471 * On UniSys Model 6520, the BIOS leaves vector 0x20 isr
473 * uses vector 0x20 to interrupt itself, so softint will
536 * of the interrupting vector. An EOI should be given to
546 uchar_t vector;
553 * The real vector delivered is (*vectorp + 0x20), but our caller
554 * subtracts 0x20 from the vector before passing it to us.
557 vector = (uchar_t)*vectorp;
560 if (vector == apic_clkvect) {
571 nipl = apic_ipls[vector];
573 *vectorp = apic_vector_to_irq[vector + APIC_BASE_VECT];
583 if (vector == (APIC_SPUR_INTR - APIC_BASE_VECT)) {
588 /* Check if the vector we got is really what we need */
592 * the vector translation to prevent a self-race for
595 * we want the vector translation to be atomic with
599 vector = apic_xlate_vector(vector + APIC_BASE_VECT) -
604 nipl = apic_ipls[vector];
605 *vectorp = irq = apic_vector_to_irq[vector + APIC_BASE_VECT];
623 APIC_DEBUG_BUF_PUT(vector);
797 uchar_t vector;
801 if ((vector = apic_allocate_vector(ipl, irq, 1))) {
804 apic_irq_table[irq]->airq_vector = vector;
806 apic_resv_vector[ipl] = vector;
823 * Note the vector in apic_clkvect for per clock handling.
826 APIC_VERBOSE_IOAPIC((CE_NOTE, "get_clkirq: vector = %x\n",
1063 * This function allocates "count" MSI vector(s) for the given "dip/pri/type"
1106 /* no vector available */
1156 "dip=0x%p vector=0x%x origirq=0x%x pri=0x%x\n", irqno,
1165 * This function allocates "count" MSI-X vector(s) for the given "dip/pri/type"
1192 uchar_t vector, irqno;
1206 if ((vector = apic_allocate_vector(pri, irqno, 1)) == 0) {
1219 irqptr->airq_vector = (uchar_t)vector;
1234 * Allocate a free vector for irq at ipl. Takes care of merging of multiple
1269 /* Mark vector as not being used by any irq */
1271 apic_free_vector(uchar_t vector)
1273 apic_vector_to_irq[vector] = APIC_RESV_IRQ;
1320 apic_modify_vector(uchar_t vector, int irq)
1322 apic_vector_to_irq[vector] = (uchar_t)irq;
1323 return (vector);