Home | History | Annotate | Download | only in rmi

Lines Matching defs:irt

115  * IRT assignments depends on the RMI chip family
279 * - covers all vectors, not just IRT intrs
418 * initialize (zero) all IRT Entries in the PIC
513 int irt;
522 irt = RMIXL_VECTOR_IRT(vec);
525 return rmixl_intr_string_xlr(irt);
527 return rmixl_intr_string_xls(irt);
536 rmixl_intr_string_xlr(int irt)
538 return rmixl_irtnames_xlrxxx[irt];
542 rmixl_intr_string_xls(int irt)
551 name = rmixl_irtnames_xls1xx[irt];
555 name = rmixl_irtnames_xls2xx[irt];
562 name = rmixl_irtnames_xls4xx[irt];
565 name = rmixl_vecnames_common[RMIXL_IRT_VECTOR(irt)];
575 * given a bitmask of cpus, return a, IRT thread mask
625 * - initialize IRT Entry for given index
629 rmixl_irt_init(int irt)
631 KASSERT(irt < NIRTS);
632 RMIXL_PICREG_WRITE(RMIXL_PIC_IRTENTRYC1(irt), 0); /* high word */
633 RMIXL_PICREG_WRITE(RMIXL_PIC_IRTENTRYC0(irt), 0); /* low word */
638 * - invalidate IRT Entry for given index
641 rmixl_irt_disestablish(int irt)
644 DPRINTF(("%s: irt %d, irtc1 %#x\n", __func__, irt, 0));
645 rmixl_irt_init(irt);
650 * - construct an IRT Entry for irt and write to PIC
653 rmixl_irt_establish(int irt, int vec, int cpumask, rmixl_intr_trigger_t trigger,
661 if (irt >= NIRTS)
662 panic("%s: bad irt %d\n", __func__, irt);
686 * XXX IRT entries are not shared
688 KASSERT(RMIXL_PICREG_READ(RMIXL_PIC_IRTENTRYC0(irt)) == 0);
689 KASSERT(RMIXL_PICREG_READ(RMIXL_PIC_IRTENTRYC1(irt)) == 0);
709 * write IRT Entry to PIC
711 DPRINTF(("%s: vec %d (%#x), irt %d, irtc0 %#x, irtc1 %#x\n",
712 __func__, vec, vec, irt, irtc0, irtc1));
713 RMIXL_PICREG_WRITE(RMIXL_PIC_IRTENTRYC0(irt), irtc0); /* low word */
714 RMIXL_PICREG_WRITE(RMIXL_PIC_IRTENTRYC1(irt), irtc1); /* high word */
776 * - used to establish an IRT-based interrupt only
779 rmixl_intr_establish(int irt, int cpumask, int ipl,
794 if (irt < 0 || irt >= NIRTS)
795 panic("%s: irt %d out of range, max %d",
796 __func__, irt, NIRTS - 1);
801 vec = RMIXL_IRT_VECTOR(irt);
803 DPRINTF(("%s: irt %d, vec %d, ipl %d\n", __func__, irt, vec, ipl));
813 * establish IRT Entry
815 rmixl_irt_establish(irt, vec, cpumask, trigger, polarity);
853 * disable/invalidate the IRT Entry if needed
1021 rmixl_irt_entry_print(u_int irt)
1025 if ((irt < 0) || (irt > NIRTS))
1027 c0 = RMIXL_PICREG_READ(RMIXL_PIC_IRTENTRYC0(irt));
1028 c1 = RMIXL_PICREG_READ(RMIXL_PIC_IRTENTRYC1(irt));
1029 printf("irt[%d]: %#x, %#x\n", irt, c0, c1);
1036 for (int irt=0; irt < NIRTS ; irt++)
1037 rmixl_irt_entry_print(irt);