sys/arch/amd64/amd64/acpi_machdep.c
196
return (intr_establish(-1, (struct pic *)apic, map->ioapic_pin,
sys/arch/amd64/amd64/i8259.c
129
i8259_hwmask(struct pic *pic, int pin)
sys/arch/amd64/amd64/i8259.c
146
i8259_hwunmask(struct pic *pic, int pin)
sys/arch/amd64/amd64/i8259.c
184
i8259_setup(struct pic *pic, struct cpu_info *ci, int pin, int idtvec, int type)
sys/arch/amd64/amd64/i8259.c
83
static void i8259_hwmask(struct pic *, int);
sys/arch/amd64/amd64/i8259.c
84
static void i8259_hwunmask(struct pic *, int);
sys/arch/amd64/amd64/i8259.c
85
static void i8259_setup(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/amd64/i8259.c
93
struct pic i8259_pic = {
sys/arch/amd64/amd64/intr.c
180
intr_allocate_slot_cpu(struct cpu_info *ci, struct pic *pic, int pin,
sys/arch/amd64/amd64/intr.c
191
if (isp != NULL && isp->is_pic == pic && isp->is_pin == pin) {
sys/arch/amd64/amd64/intr.c
199
if (isp != NULL && isp->is_pic == pic && isp->is_pin == pin) {
sys/arch/amd64/amd64/intr.c
232
intr_allocate_slot(struct pic *pic, int legacy_irq, int pin, int level,
sys/arch/amd64/amd64/intr.c
253
if (isp != NULL && isp->is_pic == pic &&
sys/arch/amd64/amd64/intr.c
270
if (isp->is_pic != pic || isp->is_pin != pin) {
sys/arch/amd64/amd64/intr.c
271
if (pic == &i8259_pic)
sys/arch/amd64/amd64/intr.c
277
if (pic == &i8259_pic)
sys/arch/amd64/amd64/intr.c
304
error = intr_allocate_slot_cpu(ci, pic, pin, &slot);
sys/arch/amd64/amd64/intr.c
317
error = intr_allocate_slot_cpu(ci, pic, pin, &slot);
sys/arch/amd64/amd64/intr.c
323
if (pic->pic_allocidtvec) {
sys/arch/amd64/amd64/intr.c
324
idtvec = pic->pic_allocidtvec(pic, pin,
sys/arch/amd64/amd64/intr.c
350
intr_establish(int legacy_irq, struct pic *pic, int pin, int type, int level,
sys/arch/amd64/amd64/intr.c
363
if (legacy_irq == -1 && pic == &i8259_pic)
sys/arch/amd64/amd64/intr.c
372
error = intr_allocate_slot(pic, legacy_irq, pin, level, &ci, &slot,
sys/arch/amd64/amd64/intr.c
376
pic->pic_dev.dv_xname, pin);
sys/arch/amd64/amd64/intr.c
390
source->is_pic->pic_type != pic->pic_type) {
sys/arch/amd64/amd64/intr.c
399
source->is_pic = pic;
sys/arch/amd64/amd64/intr.c
414
"type %d with %d\n", pic->pic_name, pin,
sys/arch/amd64/amd64/intr.c
422
source->is_type, pic->pic_dev.dv_xname, pin);
sys/arch/amd64/amd64/intr.c
426
pic->pic_hwmask(pic, pin);
sys/arch/amd64/amd64/intr.c
458
&pic->pic_level_stubs[slot] : &pic->pic_edge_stubs[slot];
sys/arch/amd64/amd64/intr.c
465
pic->pic_addroute(pic, ci, pin, idt_vec, type);
sys/arch/amd64/amd64/intr.c
468
pic->pic_hwunmask(pic, pin);
sys/arch/amd64/amd64/intr.c
472
pic->pic_name, type == IST_EDGE ? "edge" : "level", pin, level,
sys/arch/amd64/amd64/intr.c
487
struct pic *pic;
sys/arch/amd64/amd64/intr.c
492
pic = ci->ci_isources[ih->ih_slot]->is_pic;
sys/arch/amd64/amd64/intr.c
496
pic->pic_hwmask(pic, ih->ih_pin);
sys/arch/amd64/amd64/intr.c
513
pic->pic_delroute(pic, ci, ih->ih_pin, idtvec, source->is_type);
sys/arch/amd64/amd64/intr.c
515
pic->pic_hwunmask(pic, ih->ih_pin);
sys/arch/amd64/amd64/intr.c
519
ci->ci_apicid, ih->ih_slot, pic->pic_dev.dv_xname, ih->ih_pin,
sys/arch/amd64/amd64/intr.c
526
if (pic != &i8259_pic)
sys/arch/amd64/amd64/intr.c
64
struct pic softintr_pic = {
sys/arch/amd64/amd64/intr.c
743
struct pic *pic;
sys/arch/amd64/amd64/intr.c
753
pic = ci->ci_isources[irq]->is_pic;
sys/arch/amd64/amd64/intr.c
755
if (pic->pic_hwmask)
sys/arch/amd64/amd64/intr.c
756
pic->pic_hwmask(pic, pin);
sys/arch/amd64/amd64/intr.c
766
struct pic *pic;
sys/arch/amd64/amd64/intr.c
778
pic = ci->ci_isources[irq]->is_pic;
sys/arch/amd64/amd64/intr.c
780
if (pic->pic_hwunmask)
sys/arch/amd64/amd64/intr.c
781
pic->pic_hwunmask(pic, pin);
sys/arch/amd64/amd64/ioapic.c
464
ioapic_hwmask(struct pic *pic, int pin)
sys/arch/amd64/amd64/ioapic.c
467
struct ioapic_softc *sc = (struct ioapic_softc *)pic;
sys/arch/amd64/amd64/ioapic.c
481
ioapic_hwunmask(struct pic *pic, int pin)
sys/arch/amd64/amd64/ioapic.c
484
struct ioapic_softc *sc = (struct ioapic_softc *)pic;
sys/arch/amd64/amd64/ioapic.c
498
ioapic_addroute(struct pic *pic, struct cpu_info *ci, int pin,
sys/arch/amd64/amd64/ioapic.c
501
struct ioapic_softc *sc = (struct ioapic_softc *)pic;
sys/arch/amd64/amd64/ioapic.c
514
ioapic_delroute(struct pic *pic, struct cpu_info *ci, int pin,
sys/arch/amd64/amd64/ioapic.c
517
struct ioapic_softc *sc = (struct ioapic_softc *)pic;
sys/arch/amd64/amd64/ioapic.c
525
ioapic_hwmask(pic, pin);
sys/arch/amd64/amd64/ioapic.c
89
void ioapic_hwmask(struct pic *, int);
sys/arch/amd64/amd64/ioapic.c
90
void ioapic_hwunmask(struct pic *, int);
sys/arch/amd64/amd64/ioapic.c
91
void ioapic_addroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/amd64/ioapic.c
92
void ioapic_delroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/amd64/lapic.c
720
lapic_hwmask(struct pic *pic, int pin)
sys/arch/amd64/amd64/lapic.c
732
lapic_hwunmask(struct pic *pic, int pin)
sys/arch/amd64/amd64/lapic.c
744
lapic_setup(struct pic *pic, struct cpu_info *ci, int pin, int idtvec, int type)
sys/arch/amd64/amd64/lapic.c
83
void lapic_hwmask(struct pic *, int);
sys/arch/amd64/amd64/lapic.c
84
void lapic_hwunmask(struct pic *, int);
sys/arch/amd64/amd64/lapic.c
85
void lapic_setup(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/amd64/lapic.c
89
struct pic local_pic = {
sys/arch/amd64/include/i82093var.h
49
struct pic sc_pic;
sys/arch/amd64/include/intr.h
203
int intr_allocate_slot_cpu(struct cpu_info *, struct pic *, int, int *);
sys/arch/amd64/include/intr.h
204
int intr_allocate_slot(struct pic *, int, int, int, struct cpu_info **, int *,
sys/arch/amd64/include/intr.h
206
void *intr_establish(int, struct pic *, int, int, int,
sys/arch/amd64/include/intr.h
74
struct pic *is_pic; /* originating PIC */
sys/arch/amd64/include/pic.h
21
void (*pic_hwmask)(struct pic *, int);
sys/arch/amd64/include/pic.h
22
void (*pic_hwunmask)(struct pic *, int);
sys/arch/amd64/include/pic.h
23
void (*pic_addroute)(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/include/pic.h
24
void (*pic_delroute)(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/include/pic.h
25
int (*pic_allocidtvec)(struct pic *, int, int, int);
sys/arch/amd64/include/pic.h
41
extern struct pic i8259_pic;
sys/arch/amd64/include/pic.h
42
extern struct pic local_pic;
sys/arch/amd64/include/pic.h
43
extern struct pic msi_pic;
sys/arch/amd64/include/pic.h
44
extern struct pic softintr_pic;
sys/arch/amd64/isa/isa_machdep.c
257
struct pic *pic = &i8259_pic;
sys/arch/amd64/isa/isa_machdep.c
271
pic = &mip->ioapic->sc_pic;
sys/arch/amd64/isa/isa_machdep.c
278
KASSERT(pic);
sys/arch/amd64/isa/isa_machdep.c
280
return intr_establish(irq, pic, pin, type, level, NULL, ih_fun,
sys/arch/amd64/pci/pci_machdep.c
328
void msi_hwmask(struct pic *, int);
sys/arch/amd64/pci/pci_machdep.c
329
void msi_hwunmask(struct pic *, int);
sys/arch/amd64/pci/pci_machdep.c
330
void msi_addroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/pci/pci_machdep.c
331
void msi_delroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/pci/pci_machdep.c
332
int msi_allocidtvec(struct pic *, int, int, int);
sys/arch/amd64/pci/pci_machdep.c
334
struct pic msi_pic = {
sys/arch/amd64/pci/pci_machdep.c
350
msi_hwmask(struct pic *pic, int pin)
sys/arch/amd64/pci/pci_machdep.c
377
msi_hwunmask(struct pic *pic, int pin)
sys/arch/amd64/pci/pci_machdep.c
404
msi_addroute(struct pic *pic, struct cpu_info *ci, int pin, int idtvec,
sys/arch/amd64/pci/pci_machdep.c
433
msi_delroute(struct pic *pic, struct cpu_info *ci, int pin, int idtvec,
sys/arch/amd64/pci/pci_machdep.c
450
msi_allocidtvec(struct pic *pic, int pin, int low, int high)
sys/arch/amd64/pci/pci_machdep.c
555
void msix_hwmask(struct pic *, int);
sys/arch/amd64/pci/pci_machdep.c
556
void msix_hwunmask(struct pic *, int);
sys/arch/amd64/pci/pci_machdep.c
557
void msix_addroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/pci/pci_machdep.c
558
void msix_delroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/amd64/pci/pci_machdep.c
560
struct pic msix_pic = {
sys/arch/amd64/pci/pci_machdep.c
576
msix_hwmask(struct pic *pic, int pin)
sys/arch/amd64/pci/pci_machdep.c
602
msix_hwunmask(struct pic *pic, int pin)
sys/arch/amd64/pci/pci_machdep.c
626
msix_addroute(struct pic *pic, struct cpu_info *ci, int pin, int idtvec,
sys/arch/amd64/pci/pci_machdep.c
663
msix_delroute(struct pic *pic, struct cpu_info *ci, int pin, int idtvec,
sys/arch/amd64/pci/pci_machdep.c
879
struct pic *pic;
sys/arch/amd64/pci/pci_machdep.c
895
pic = &i8259_pic;
sys/arch/amd64/pci/pci_machdep.c
900
pic = (struct pic *)ioapic_find(APIC_IRQ_APIC(ih.line));
sys/arch/amd64/pci/pci_machdep.c
901
if (pic == NULL) {
sys/arch/amd64/pci/pci_machdep.c
913
return intr_establish(irq, pic, pin, IST_LEVEL, level, ci,
sys/arch/hppa/dev/mongoose.c
149
volatile u_int8_t *imr, *pic;
sys/arch/hppa/dev/mongoose.c
179
pic = &sc->sc_ctrl->pic0;
sys/arch/hppa/dev/mongoose.c
182
pic = &sc->sc_ctrl->pic1;
sys/arch/hppa/dev/mongoose.c
187
*pic |= (type == IST_LEVEL) << irq;
sys/arch/i386/i386/ioapic.c
610
ioapic_hwmask(struct pic *pic, int pin)
sys/arch/i386/i386/ioapic.c
613
struct ioapic_softc *sc = (struct ioapic_softc *)pic;
sys/arch/i386/i386/ioapic.c
626
ioapic_hwunmask(struct pic *pic, int pin)
sys/arch/i386/i386/ioapic.c
629
struct ioapic_softc *sc = (struct ioapic_softc *)pic;
sys/arch/i386/i386/ioapic.c
96
void ioapic_hwmask(struct pic *, int);
sys/arch/i386/i386/ioapic.c
97
void ioapic_hwunmask(struct pic *, int);
sys/arch/i386/include/i82093var.h
51
struct pic sc_pic;
sys/arch/i386/include/pic.h
21
void (*pic_hwmask)(struct pic *, int);
sys/arch/i386/include/pic.h
22
void (*pic_hwunmask)(struct pic *, int);
sys/arch/i386/include/pic.h
23
void (*pic_addroute)(struct pic *, struct cpu_info *, int, int, int);
sys/arch/i386/include/pic.h
24
void (*pic_delroute)(struct pic *, struct cpu_info *, int, int, int);
sys/arch/i386/include/pic.h
39
extern struct pic i8259_pic;
sys/arch/i386/include/pic.h
40
extern struct pic local_pic;
sys/arch/i386/include/pic.h
41
extern struct pic softintr_pic;
sys/arch/loongson/include/intr.h
187
void loongson3_register_ht_pic(const struct pic *);
sys/arch/loongson/loongson/generic3a_machdep.c
163
const struct pic rs780e_pic = {
sys/arch/loongson/loongson/loongson3_intr.c
38
const struct pic *loongson3_ht_pic;
sys/arch/loongson/loongson/loongson3_intr.c
520
loongson3_register_ht_pic(const struct pic *pic)
sys/arch/loongson/loongson/loongson3_intr.c
522
loongson3_ht_pic = pic;
sys/dev/acpi/acpidmar.c
194
struct pic pic;
sys/dev/acpi/acpidmar.c
227
struct iommu_pic pic;
sys/dev/acpi/acpidmar.c
3587
void acpidmar_msi_hwmask(struct pic *, int);
sys/dev/acpi/acpidmar.c
3588
void acpidmar_msi_hwunmask(struct pic *, int);
sys/dev/acpi/acpidmar.c
3589
void acpidmar_msi_addroute(struct pic *, struct cpu_info *, int, int, int);
sys/dev/acpi/acpidmar.c
3590
void acpidmar_msi_delroute(struct pic *, struct cpu_info *, int, int, int);
sys/dev/acpi/acpidmar.c
3593
acpidmar_msi_hwmask(struct pic *pic, int pin)
sys/dev/acpi/acpidmar.c
3595
struct iommu_pic *ip = (void *)pic;
sys/dev/acpi/acpidmar.c
3609
acpidmar_msi_hwunmask(struct pic *pic, int pin)
sys/dev/acpi/acpidmar.c
3611
struct iommu_pic *ip = (void *)pic;
sys/dev/acpi/acpidmar.c
3625
acpidmar_msi_addroute(struct pic *pic, struct cpu_info *ci, int pin, int vec,
sys/dev/acpi/acpidmar.c
3628
struct iommu_pic *ip = (void *)pic;
sys/dev/acpi/acpidmar.c
3643
acpidmar_msi_delroute(struct pic *pic, struct cpu_info *ci, int pin, int vec,
sys/dev/acpi/acpidmar.c
3654
struct pic *pic;
sys/dev/acpi/acpidmar.c
3656
pic = &iommu->pic.pic;
sys/dev/acpi/acpidmar.c
3657
iommu->pic.iommu = iommu;
sys/dev/acpi/acpidmar.c
3659
strlcpy(pic->pic_dev.dv_xname, "dmarpic",
sys/dev/acpi/acpidmar.c
3660
sizeof(pic->pic_dev.dv_xname));
sys/dev/acpi/acpidmar.c
3661
pic->pic_type = PIC_MSI;
sys/dev/acpi/acpidmar.c
3662
pic->pic_hwmask = acpidmar_msi_hwmask;
sys/dev/acpi/acpidmar.c
3663
pic->pic_hwunmask = acpidmar_msi_hwunmask;
sys/dev/acpi/acpidmar.c
3664
pic->pic_addroute = acpidmar_msi_addroute;
sys/dev/acpi/acpidmar.c
3665
pic->pic_delroute = acpidmar_msi_delroute;
sys/dev/acpi/acpidmar.c
3666
pic->pic_edge_stubs = ioapic_edge_stubs;
sys/dev/acpi/acpidmar.c
3668
mtx_init(&pic->pic_mutex, level);
sys/dev/acpi/acpidmar.c
3671
return intr_establish(-1, pic, 0, IST_PULSE, level, NULL, func, arg, what);
usr.sbin/vmd/i8259.c
283
struct i8259 *pic = &pics[n];
usr.sbin/vmd/i8259.c
285
if (pic->init_mode == 1) {
usr.sbin/vmd/i8259.c
286
if (pic->cur_icw == 2) {
usr.sbin/vmd/i8259.c
290
pic->vec = data;
usr.sbin/vmd/i8259.c
291
} else if (pic->cur_icw == 3) {
usr.sbin/vmd/i8259.c
298
pic->irq_conn = data;
usr.sbin/vmd/i8259.c
299
} else if (pic->cur_icw == 4) {
usr.sbin/vmd/i8259.c
309
pic->auto_eoi = 1;
usr.sbin/vmd/i8259.c
332
pic->cur_icw++;
usr.sbin/vmd/i8259.c
333
if (pic->cur_icw == 5) {
usr.sbin/vmd/i8259.c
334
pic->cur_icw = 1;
usr.sbin/vmd/i8259.c
335
pic->init_mode = 0;
usr.sbin/vmd/i8259.c
338
pic->imr = data;
usr.sbin/vmd/i8259.c
409
struct i8259 *pic = &pics[n];
usr.sbin/vmd/i8259.c
443
pic->init_mode = 1;
usr.sbin/vmd/i8259.c
444
pic->cur_icw = 2;
usr.sbin/vmd/i8259.c
445
pic->imr = 0;
usr.sbin/vmd/i8259.c
446
pic->isr = 0;
usr.sbin/vmd/i8259.c
447
pic->irr = 0;
usr.sbin/vmd/i8259.c
448
pic->asserted = 0;
usr.sbin/vmd/i8259.c
449
pic->lowest_pri = 7;
usr.sbin/vmd/i8259.c
450
pic->rotate_auto_eoi = 0;
usr.sbin/vmd/i8259.c
457
pic->next_ocw_read = PIC_ISR;
usr.sbin/vmd/i8259.c
459
pic->next_ocw_read = PIC_IRR;
usr.sbin/vmd/i8259.c
465
pic->smm = 1;
usr.sbin/vmd/i8259.c
468
pic->smm = 0;
usr.sbin/vmd/i8259.c
472
pic->poll = 1;
usr.sbin/vmd/i8259.c
513
pic->lowest_pri = data & 0x7;
usr.sbin/vmd/i8259.c
518
pic->rotate_auto_eoi = 0;
usr.sbin/vmd/i8259.c
523
pic->rotate_auto_eoi = 1;
usr.sbin/vmd/i8259.c
545
struct i8259 *pic = &pics[n];
usr.sbin/vmd/i8259.c
547
return (pic->imr);
usr.sbin/vmd/i8259.c
565
struct i8259 *pic = &pics[n];
usr.sbin/vmd/i8259.c
567
if (pic->next_ocw_read == PIC_IRR)
usr.sbin/vmd/i8259.c
568
return (pic->irr);
usr.sbin/vmd/i8259.c
569
else if (pic->next_ocw_read == PIC_ISR)
usr.sbin/vmd/i8259.c
570
return (pic->isr);