Lines Matching refs:apic_id

246 	PCPU_SET(apic_id, lapic_id());
323 lapic_create(u_int apic_id, int boot_cpu)
327 if (apic_id > MAX_APIC_ID) {
328 printf("APIC: Ignoring local APIC with ID %d\n", apic_id);
333 KASSERT(!lapics[apic_id].la_present, ("duplicate local APIC %u",
334 apic_id));
340 lapics[apic_id].la_present = 1;
341 lapics[apic_id].la_id = apic_id;
343 lapics[apic_id].la_lvts[i] = lvts[i];
344 lapics[apic_id].la_lvts[i].lvt_active = 0;
347 lapics[apic_id].la_ioint_irqs[i] = -1;
348 lapics[apic_id].la_ioint_irqs[IDT_SYSCALL - APIC_IO_INTS] = IRQ_SYSCALL;
349 lapics[apic_id].la_ioint_irqs[APIC_TIMER_INT - APIC_IO_INTS] =
352 lapics[apic_id].la_ioint_irqs[IDT_DTRACE_RET - APIC_IO_INTS] =
356 lapics[apic_id].la_ioint_irqs[IDT_EVTCHN - APIC_IO_INTS] = IRQ_EVTCHN;
361 cpu_add(apic_id, boot_cpu);
535 la = &lapics[PCPU_GET(apic_id)];
575 struct lapic *la = &lapics[PCPU_GET(apic_id)];
640 lapic_set_logical_id(u_int apic_id, u_int cluster, u_int cluster_id)
644 KASSERT(lapics[apic_id].la_present, ("%s: APIC %u doesn't exist",
645 __func__, apic_id));
650 la = &lapics[apic_id];
656 lapic_set_lvt_mask(u_int apic_id, u_int pin, u_char masked)
661 if (apic_id == APIC_ID_ALL) {
666 KASSERT(lapics[apic_id].la_present,
667 ("%s: missing APIC %u", __func__, apic_id));
668 lapics[apic_id].la_lvts[pin].lvt_masked = masked;
669 lapics[apic_id].la_lvts[pin].lvt_active = 1;
671 printf("lapic%u:", apic_id);
679 lapic_set_lvt_mode(u_int apic_id, u_int pin, u_int32_t mode)
685 if (apic_id == APIC_ID_ALL) {
690 KASSERT(lapics[apic_id].la_present,
691 ("%s: missing APIC %u", __func__, apic_id));
692 lvt = &lapics[apic_id].la_lvts[pin];
695 printf("lapic%u:", apic_id);
735 lapic_set_lvt_polarity(u_int apic_id, u_int pin, enum intr_polarity pol)
740 if (apic_id == APIC_ID_ALL) {
745 KASSERT(lapics[apic_id].la_present,
746 ("%s: missing APIC %u", __func__, apic_id));
747 lapics[apic_id].la_lvts[pin].lvt_active = 1;
748 lapics[apic_id].la_lvts[pin].lvt_activehi =
751 printf("lapic%u:", apic_id);
760 lapic_set_lvt_triggermode(u_int apic_id, u_int pin, enum intr_trigger trigger)
765 if (apic_id == APIC_ID_ALL) {
770 KASSERT(lapics[apic_id].la_present,
771 ("%s: missing APIC %u", __func__, apic_id));
772 lapics[apic_id].la_lvts[pin].lvt_edgetrigger =
774 lapics[apic_id].la_lvts[pin].lvt_active = 1;
776 printf("lapic%u:", apic_id);
814 isrc = intr_lookup_source(apic_idt_to_irq(PCPU_GET(apic_id),
846 la = &lapics[PCPU_GET(apic_id)];
927 u_int apic_id;
933 apic_id = PCPU_GET(apic_id);
934 KASSERT(lapics[apic_id].la_present,
935 ("%s: missing APIC %u", __func__, apic_id));
936 lapics[apic_id].la_lvts[APIC_LVT_CMCI].lvt_masked = 0;
937 lapics[apic_id].la_lvts[APIC_LVT_CMCI].lvt_active = 1;
939 printf("lapic%u: CMCI unmasked\n", apic_id);
961 apic_cpuid(u_int apic_id)
964 return apic_cpuids[apic_id];
972 apic_alloc_vector(u_int apic_id, u_int irq)
984 if (lapics[apic_id].la_ioint_irqs[vector] != -1)
986 lapics[apic_id].la_ioint_irqs[vector] = irq;
1001 apic_alloc_vectors(u_int apic_id, u_int *irqs, u_int count, u_int align)
1024 if (lapics[apic_id].la_ioint_irqs[vector] != -1) {
1044 lapics[apic_id].la_ioint_irqs[first + vector] =
1055 * Enable a vector for a particular apic_id. Since all lapics share idt
1061 apic_enable_vector(u_int apic_id, u_int vector)
1076 apic_disable_vector(u_int apic_id, u_int vector)
1097 apic_free_vector(u_int apic_id, u_int vector, u_int irq)
1105 KASSERT(lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] ==
1121 sched_bind(td, apic_cpuid(apic_id));
1125 lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS] = -1;
1136 apic_idt_to_irq(u_int apic_id, u_int vector)
1147 irq = lapics[apic_id].la_ioint_irqs[vector - APIC_IO_INTS];
1161 u_int apic_id;
1170 for (apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) {
1171 if (lapics[apic_id].la_present == 0)
1173 db_printf("Interrupts bound to lapic %u\n", apic_id);
1175 irq = lapics[apic_id].la_ioint_irqs[i];