sys/arch/alpha/jensenio/jensenio_intr.c
341
int pic;
sys/arch/alpha/jensenio/jensenio_intr.c
344
pic = irq >> 3;
sys/arch/alpha/jensenio/jensenio_intr.c
347
mask = bus_space_read_1(pic_iot, pic_ioh[pic], PIC_OCW1);
sys/arch/alpha/jensenio/jensenio_intr.c
352
bus_space_write_1(pic_iot, pic_ioh[pic], PIC_OCW1, mask);
sys/arch/alpha/jensenio/jensenio_intr.c
376
int pic;
sys/arch/alpha/jensenio/jensenio_intr.c
381
for (pic = 0; pic < 2; pic++) {
sys/arch/alpha/jensenio/jensenio_intr.c
382
if (bus_space_map(pic_iot, picaddr[pic], 2, 0, &pic_ioh[pic]))
sys/arch/alpha/jensenio/jensenio_intr.c
383
panic("jensenio_init_intr: unable to map PIC %d", pic);
sys/arch/alpha/jensenio/jensenio_intr.c
384
bus_space_write_1(pic_iot, pic_ioh[pic], PIC_OCW1, 0xff);
sys/arch/alpha/pci/pci_2100_a500.c
684
int pic;
sys/arch/alpha/pci/pci_2100_a500.c
687
pic = irq >> 3;
sys/arch/alpha/pci/pci_2100_a500.c
690
mask = bus_space_read_1(pic_iot, pic_slave_ioh[pic], 1);
sys/arch/alpha/pci/pci_2100_a500.c
695
bus_space_write_1(pic_iot, pic_slave_ioh[pic], 1, mask);
sys/arch/alpha/pci/pci_2100_a500.c
721
int pic;
sys/arch/alpha/pci/pci_2100_a500.c
732
for (pic = 0; pic < 4; pic++) {
sys/arch/alpha/pci/pci_2100_a500.c
733
if (bus_space_map(pic_iot, picaddr[pic], 2, 0,
sys/arch/alpha/pci/pci_2100_a500.c
734
&pic_slave_ioh[pic]))
sys/arch/alpha/pci/pci_2100_a500.c
736
"slave PIC %d", pic);
sys/arch/alpha/pci/pci_2100_a500.c
737
bus_space_write_1(pic_iot, pic_slave_ioh[pic], 1, 0xff);
sys/arch/alpha/pci/pci_2100_a500.c
838
int pic;
sys/arch/alpha/pci/pci_2100_a500.c
841
pic = 0;
sys/arch/alpha/pci/pci_2100_a500.c
843
pic = 1;
sys/arch/alpha/pci/pci_2100_a500.c
845
pic = 2;
sys/arch/alpha/pci/pci_2100_a500.c
847
pic = 3;
sys/arch/alpha/pci/pci_2100_a500.c
849
bus_space_write_1(pic_iot, pic_slave_ioh[pic], 0,
sys/arch/alpha/pci/pci_2100_a500.c
850
0xe0 | (irq - (8 * pic)));
sys/arch/alpha/pci/pci_2100_a500.c
852
0xe0 | pic_slave_to_master[pic]);
sys/arch/amigappc/amigappc/pic_amiga.c
115
amiga_disable_irq(struct pic_ops *pic, int ipl)
sys/arch/amigappc/amigappc/pic_amiga.c
117
struct amiga_ops *amipic = (struct amiga_ops *)pic;
sys/arch/amigappc/amigappc/pic_amiga.c
137
amiga_get_irq(struct pic_ops *pic, int mode)
sys/arch/amigappc/amigappc/pic_amiga.c
152
amiga_ack_irq(struct pic_ops *pic, int ipl)
sys/arch/amigappc/amigappc/pic_amiga.c
58
struct pic_ops pic;
sys/arch/amigappc/amigappc/pic_amiga.c
66
struct pic_ops *pic;
sys/arch/amigappc/amigappc/pic_amiga.c
69
pic = &amipic->pic;
sys/arch/amigappc/amigappc/pic_amiga.c
71
pic->pic_numintrs = MAXIPL;
sys/arch/amigappc/amigappc/pic_amiga.c
72
pic->pic_cookie = (void *)NULL;
sys/arch/amigappc/amigappc/pic_amiga.c
73
pic->pic_enable_irq = amiga_enable_irq;
sys/arch/amigappc/amigappc/pic_amiga.c
74
pic->pic_reenable_irq = amiga_enable_irq;
sys/arch/amigappc/amigappc/pic_amiga.c
75
pic->pic_disable_irq = amiga_disable_irq;
sys/arch/amigappc/amigappc/pic_amiga.c
76
pic->pic_get_irq = amiga_get_irq;
sys/arch/amigappc/amigappc/pic_amiga.c
77
pic->pic_ack_irq = amiga_ack_irq;
sys/arch/amigappc/amigappc/pic_amiga.c
78
pic->pic_establish_irq = dummy_pic_establish_intr;
sys/arch/amigappc/amigappc/pic_amiga.c
79
strcpy(pic->pic_name, "amiga");
sys/arch/amigappc/amigappc/pic_amiga.c
85
pic_add(pic);
sys/arch/amigappc/amigappc/pic_amiga.c
87
return pic;
sys/arch/amigappc/amigappc/pic_amiga.c
91
amiga_enable_irq(struct pic_ops *pic, int ipl, int type)
sys/arch/amigappc/amigappc/pic_amiga.c
93
struct amiga_ops *amipic = (struct amiga_ops *)pic;
sys/arch/arm/acpi/acpi_pci_machdep.c
494
acpi_pci_md_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irqmask)
sys/arch/arm/acpi/acpi_pci_machdep.c
496
struct acpi_pci_intr * const pi = (struct acpi_pci_intr *)pic;
sys/arch/arm/acpi/acpi_pci_machdep.c
502
acpi_pci_md_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irqmask)
sys/arch/arm/acpi/acpi_pci_machdep.c
504
struct acpi_pci_intr * const pi = (struct acpi_pci_intr *)pic;
sys/arch/arm/acpi/acpi_pci_machdep.c
510
acpi_pci_md_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/acpi/acpi_pci_machdep.c
512
struct acpi_pci_intr * const pi = (struct acpi_pci_intr *)pic;
sys/arch/arm/acpi/acpi_pci_machdep.c
514
pic_mark_pending_sources(pic, 0, pi->pi_unblocked);
sys/arch/arm/acpi/acpi_pci_machdep.c
520
acpi_pci_md_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/acpi/acpi_pci_machdep.c
525
acpi_pci_md_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/acpi/gic_v2m_acpi.c
87
struct pic_softc *pic = pic_list[0];
sys/arch/arm/acpi/gic_v2m_acpi.c
95
frame->frame_pic = pic;
sys/arch/arm/apple/apple_intc.c
115
#define PICTOSOFTC(pic) container_of(pic, struct apple_intc_softc, sc_pic)
sys/arch/arm/apple/apple_intc.c
116
#define PICTOPERCPU(pic) container_of(pic, struct apple_intc_percpu, pc_pic)
sys/arch/arm/apple/apple_intc.c
124
apple_intc_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t mask)
sys/arch/arm/apple/apple_intc.c
126
struct apple_intc_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/apple/apple_intc.c
133
apple_intc_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t mask)
sys/arch/arm/apple/apple_intc.c
138
apple_intc_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/apple/apple_intc.c
140
struct apple_intc_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/apple/apple_intc.c
151
apple_intc_set_priority(struct pic_softc *pic, int ipl)
sys/arch/arm/apple/apple_intc.c
157
apple_intc_cpu_init(struct pic_softc *pic, struct cpu_info *ci)
sys/arch/arm/apple/apple_intc.c
159
struct apple_intc_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/apple/apple_intc.c
176
apple_intc_local_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/apple/apple_intc.c
188
apple_intc_local_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/apple/apple_intc.c
200
apple_intc_local_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/apple/apple_intc.c
206
apple_intc_local_ipi_send(struct pic_softc *pic, const kcpuset_t *kcp, u_long ipi)
sys/arch/arm/apple/apple_intc.c
208
struct apple_intc_percpu * const pc = PICTOPERCPU(pic);
sys/arch/arm/apple/apple_intc.c
251
struct pic_softc * const pic = &pc->pc_pic;
sys/arch/arm/apple/apple_intc.c
252
const int irq = pic->pic_irqbase + LOCALPIC_SOURCE_TIMER;
sys/arch/arm/apple/apple_intc.c
291
apple_intc_mark_pending(struct pic_softc *pic, u_int intno)
sys/arch/arm/apple/apple_intc.c
295
pic_mark_pending_sources(pic, base, pending);
sys/arch/arm/apple/apple_intc.c
303
struct pic_softc *pic;
sys/arch/arm/apple/apple_intc.c
322
pic = &sc->sc_pic;
sys/arch/arm/apple/apple_intc.c
323
is = pic->pic_sources[evdata];
sys/arch/arm/apple/apple_intc.c
333
pic = &sc->sc_pc[cpu_index(ci)].pc_pic;
sys/arch/arm/apple/apple_intc.c
334
is = pic->pic_sources[LOCALPIC_SOURCE_IPI];
sys/arch/arm/apple/apple_intc.c
346
apple_intc_mark_pending(pic, is->is_irq);
sys/arch/arm/apple/apple_intc.c
369
struct pic_softc * const pic = &sc->sc_pc[cpu_index(ci)].pc_pic;
sys/arch/arm/apple/apple_intc.c
374
struct intrsource * const is = pic->pic_sources[LOCALPIC_SOURCE_TIMER];
sys/arch/arm/apple/apple_intc.c
380
apple_intc_mark_pending(pic, LOCALPIC_SOURCE_TIMER);
sys/arch/arm/apple/apple_intc.c
502
struct pic_softc * const pic = &pc->pc_pic;
sys/arch/arm/apple/apple_intc.c
508
pic->pic_cpus = ci->ci_kcpuset;
sys/arch/arm/apple/apple_intc.c
510
pic->pic_ops = &apple_intc_localpicops;
sys/arch/arm/apple/apple_intc.c
511
pic->pic_maxsources = 2;
sys/arch/arm/apple/apple_intc.c
512
snprintf(pic->pic_name, sizeof(pic->pic_name), "AIC/%lu", cpuno);
sys/arch/arm/apple/apple_intc.c
514
pic_add(pic, PIC_IRQBASE_ALLOC);
sys/arch/arm/apple/apple_intc.c
517
intr_establish_xname(pic->pic_irqbase + LOCALPIC_SOURCE_IPI,
sys/arch/arm/broadcom/bcm2835_intr.c
156
bcm2835_set_priority(struct pic_softc *pic, int ipl)
sys/arch/arm/broadcom/bcm2835_intr.c
376
struct pic_softc * const pic = &bcm2836mp_pic[cpuid];
sys/arch/arm/broadcom/bcm2835_intr.c
380
pic->pic_cpus = ci->ci_kcpuset;
sys/arch/arm/broadcom/bcm2835_intr.c
387
strlcat(pic->pic_name, suffix, sizeof(pic->pic_name));
sys/arch/arm/broadcom/bcm2835_intr.c
390
pic_add(pic, PIC_IRQBASE_ALLOC);
sys/arch/arm/broadcom/bcm2835_intr.c
442
bcm2835_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/broadcom/bcm2835_intr.c
451
bcm2835_pic_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/broadcom/bcm2835_intr.c
463
bcm2835_pic_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/broadcom/bcm2835_intr.c
478
ipl |= pic_mark_pending_sources(pic,
sys/arch/arm/broadcom/bcm2835_intr.c
486
ipl |= pic_mark_pending_sources(pic,
sys/arch/arm/broadcom/bcm2835_intr.c
493
ipl |= pic_mark_pending_sources(pic,
sys/arch/arm/broadcom/bcm2835_intr.c
501
bcm2835_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/broadcom/bcm2835_intr.c
510
bcm2835_pic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/broadcom/bcm2835_intr.c
693
bcm2836mp_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/broadcom/bcm2835_intr.c
698
const cpuid_t cpuid = pic - &bcm2836mp_pic[0];
sys/arch/arm/broadcom/bcm2835_intr.c
740
bcm2836mp_pic_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/broadcom/bcm2835_intr.c
745
const cpuid_t cpuid = pic - &bcm2836mp_pic[0];
sys/arch/arm/broadcom/bcm2835_intr.c
778
bcm2836mp_pic_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/broadcom/bcm2835_intr.c
786
KASSERT(pic == &bcm2836mp_pic[cpuid]);
sys/arch/arm/broadcom/bcm2835_intr.c
796
ipl |= pic_mark_pending_sources(pic, 0, allirqs);
sys/arch/arm/broadcom/bcm2835_intr.c
803
bcm2836mp_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/broadcom/bcm2835_intr.c
811
bcm2836mp_pic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/broadcom/bcm2835_intr.c
820
static void bcm2836mp_cpu_init(struct pic_softc *pic, struct cpu_info *ci)
sys/arch/arm/broadcom/bcm2835_intr.c
832
bcm2836mp_send_ipi(struct pic_softc *pic, const kcpuset_t *kcp, u_long ipi)
sys/arch/arm/broadcom/bcm2835_intr.c
834
KASSERT(pic != NULL);
sys/arch/arm/broadcom/bcm2835_intr.c
835
KASSERT(pic != &bcm2835_pic);
sys/arch/arm/broadcom/bcm2835_intr.c
836
KASSERT(pic->pic_cpus != NULL);
sys/arch/arm/broadcom/bcm2835_intr.c
838
const cpuid_t cpuid = pic - &bcm2836mp_pic[0];
sys/arch/arm/clps711x/clpssoc.c
205
clpssoc_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/clps711x/clpssoc.c
214
clpssoc_pic_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/clps711x/clpssoc.c
221
clpssoc_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/cortex/gic.c
198
armgic_unblock_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/cortex/gic.c
200
struct armgic_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gic.c
210
armgic_block_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/cortex/gic.c
212
struct armgic_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gic.c
222
armgic_set_priority(struct pic_softc *pic, int ipl)
sys/arch/arm/cortex/gic.c
224
struct armgic_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gic.c
239
armgic_get_affinity(struct pic_softc *pic, size_t irq, kcpuset_t *affinity)
sys/arch/arm/cortex/gic.c
241
struct armgic_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gic.c
267
armgic_set_affinity(struct pic_softc *pic, size_t irq,
sys/arch/arm/cortex/gic.c
270
struct armgic_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gic.c
414
armgic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/cortex/gic.c
416
struct armgic_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gic.c
541
armgic_cpu_init(struct pic_softc *pic, struct cpu_info *ci)
sys/arch/arm/cortex/gic.c
543
struct armgic_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gic.c
565
armgic_ipi_send(struct pic_softc *pic, const kcpuset_t *kcp, u_long ipi)
sys/arch/arm/cortex/gic.c
567
struct armgic_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gic.c
98
#define PICTOSOFTC(pic) ((struct armgic_softc *)(pic))
sys/arch/arm/cortex/gicv3.c
133
gicv3_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t mask)
sys/arch/arm/cortex/gicv3.c
135
struct gicv3_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
152
gicv3_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t mask)
sys/arch/arm/cortex/gicv3.c
154
struct gicv3_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
171
gicv3_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/cortex/gicv3.c
173
struct gicv3_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
231
gicv3_set_priority(struct pic_softc *pic, int ipl)
sys/arch/arm/cortex/gicv3.c
233
struct gicv3_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
395
gicv3_cpu_init(struct pic_softc *pic, struct cpu_info *ci)
sys/arch/arm/cortex/gicv3.c
397
struct gicv3_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
441
gicv3_ipi_send(struct pic_softc *pic, const kcpuset_t *kcp, u_long ipi)
sys/arch/arm/cortex/gicv3.c
464
gicv3_get_affinity(struct pic_softc *pic, size_t irq, kcpuset_t *affinity)
sys/arch/arm/cortex/gicv3.c
466
struct gicv3_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
488
gicv3_set_affinity(struct pic_softc *pic, size_t irq, const kcpuset_t *affinity)
sys/arch/arm/cortex/gicv3.c
490
struct gicv3_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
533
gicv3_lpi_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t mask)
sys/arch/arm/cortex/gicv3.c
535
struct gicv3_softc * const sc = LPITOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
55
#define PICTOSOFTC(pic) \
sys/arch/arm/cortex/gicv3.c
550
gicv3_lpi_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t mask)
sys/arch/arm/cortex/gicv3.c
552
struct gicv3_softc * const sc = LPITOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
56
container_of(pic, struct gicv3_softc, sc_pic)
sys/arch/arm/cortex/gicv3.c
567
gicv3_lpi_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/cortex/gicv3.c
569
struct gicv3_softc * const sc = LPITOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
580
gicv3_lpi_cpu_init(struct pic_softc *pic, struct cpu_info *ci)
sys/arch/arm/cortex/gicv3.c
582
struct gicv3_softc * const sc = LPITOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
603
__SHIFTIN(ffs(pic->pic_maxsources) - 1, GICR_PROPBASER_IDbits) |
sys/arch/arm/cortex/gicv3.c
646
gicv3_lpi_get_affinity(struct pic_softc *pic, size_t irq, kcpuset_t *affinity)
sys/arch/arm/cortex/gicv3.c
648
struct gicv3_softc * const sc = LPITOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
657
gicv3_lpi_set_affinity(struct pic_softc *pic, size_t irq, const kcpuset_t *affinity)
sys/arch/arm/cortex/gicv3.c
659
struct gicv3_softc * const sc = LPITOSOFTC(pic);
sys/arch/arm/cortex/gicv3.c
731
struct pic_softc *pic;
sys/arch/arm/cortex/gicv3.c
752
pic = irq >= GIC_LPI_BASE ? &sc->sc_lpi : &sc->sc_pic;
sys/arch/arm/cortex/gicv3.c
753
if (irq - pic->pic_irqbase >= pic->pic_maxsources)
sys/arch/arm/cortex/gicv3.c
756
struct intrsource * const is = pic->pic_sources[irq - pic->pic_irqbase];
sys/arch/arm/gemini/gemini_gpio.c
101
#define PIC_TO_SOFTC(pic) \
sys/arch/arm/gemini/gemini_gpio.c
102
((struct gpio_softc *)((char *)(pic) - \
sys/arch/arm/gemini/gemini_gpio.c
111
gpio_pic_unblock_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/gemini/gemini_gpio.c
113
struct gpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/gemini/gemini_gpio.c
128
gpio_pic_block_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/gemini/gemini_gpio.c
130
struct gpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/gemini/gemini_gpio.c
145
gpio_pic_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/gemini/gemini_gpio.c
147
struct gpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/gemini/gemini_gpio.c
164
gpio_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/gemini/gemini_gpio.c
166
struct gpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/gemini/gemini_gpio.c
225
if ((is = pic->pic_sources[i]) != NULL) {
sys/arch/arm/gemini/gemini_icu.c
113
static void geminiicu_source_name(struct pic_softc *pic, int irq,
sys/arch/arm/gemini/gemini_icu.c
121
geminiicu_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/gemini/gemini_icu.c
123
struct geminiicu_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/gemini/gemini_icu.c
137
geminiicu_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/gemini/gemini_icu.c
139
struct geminiicu_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/gemini/gemini_icu.c
192
geminiicu_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/gemini/gemini_icu.c
194
struct geminiicu_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/gemini/gemini_icu.c
79
#define PICTOSOFTC(pic) \
sys/arch/arm/gemini/gemini_icu.c
80
((void *)((uintptr_t)(pic) - offsetof(struct geminiicu_softc, sc_pic)))
sys/arch/arm/imx/imx23_icoll.c
207
imx23_icoll_unblock_irqs(struct pic_softc *pic, size_t irq_base,
sys/arch/arm/imx/imx23_icoll.c
210
struct imx23_icoll_softc *sc = PICTOSOFTC(pic);
sys/arch/arm/imx/imx23_icoll.c
223
imx23_icoll_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/imx/imx23_icoll.c
225
struct imx23_icoll_softc *sc = PICTOSOFTC(pic);
sys/arch/arm/imx/imx23_icoll.c
238
imx23_icoll_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/imx/imx23_icoll.c
244
imx23_icoll_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/imx/imx23_icoll.c
250
imx23_icoll_source_name(struct pic_softc *pic, int irq, char *is_source,
sys/arch/arm/imx/imx23_icoll.c
260
imx23_icoll_set_priority(struct pic_softc *pic, int newipl)
sys/arch/arm/imx/imx23_icoll.c
262
struct imx23_icoll_softc *sc = PICTOSOFTC(pic);
sys/arch/arm/imx/imx23_icoll.c
268
for (i = 0; i < pic->pic_maxsources; i++) {
sys/arch/arm/imx/imx23_icoll.c
269
is = pic->pic_sources[i];
sys/arch/arm/imx/imx23_icoll.c
273
ICOLL_SET_IRQ(sc, pic->pic_irqbase + is->is_irq);
sys/arch/arm/imx/imx23_icoll.c
275
ICOLL_CLR_IRQ(sc, pic->pic_irqbase + is->is_irq);
sys/arch/arm/imx/imx23_icoll.c
74
#define PICTOSOFTC(pic) \
sys/arch/arm/imx/imx23_icoll.c
75
((struct imx23_icoll_softc *)((char *)(pic) - \
sys/arch/arm/imx/imx31_gpio.c
113
gpio_pic_block_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/imx/imx31_gpio.c
115
struct gpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imx31_gpio.c
123
gpio_pic_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/imx/imx31_gpio.c
125
struct gpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imx31_gpio.c
168
gpio_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/imx/imx31_gpio.c
170
struct gpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imx31_gpio.c
87
#define PIC_TO_SOFTC(pic) \
sys/arch/arm/imx/imx31_gpio.c
88
((struct gpio_softc *)((char *)(pic) - \
sys/arch/arm/imx/imx31_gpio.c
97
gpio_pic_unblock_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/imx/imx31_gpio.c
99
struct gpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imx31_icu.c
104
avic_block_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/imx/imx31_icu.c
106
struct avic_softc * const avic = (void *) pic;
sys/arch/arm/imx/imx31_icu.c
124
avic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/imx/imx31_icu.c
126
struct avic_softc * const avic = (void *) pic;
sys/arch/arm/imx/imx31_icu.c
147
avic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/imx/imx31_icu.c
156
struct pic_softc * const pic = &avic->avic_pic;
sys/arch/arm/imx/imx31_icu.c
170
KASSERT(pic->pic_sources[irq] != NULL);
sys/arch/arm/imx/imx31_icu.c
178
pic_mark_pending(pic, irq);
sys/arch/arm/imx/imx31_icu.c
191
pic_dispatch(pic->pic_sources[irq], frame);
sys/arch/arm/imx/imx31_icu.c
84
avic_unblock_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/imx/imx31_icu.c
86
struct avic_softc * const avic = (void *) pic;
sys/arch/arm/imx/imx51_tzic.c
168
tzic_unblock_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/imx/imx51_tzic.c
170
struct tzic_softc * const tzic = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imx51_tzic.c
180
tzic_block_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/imx/imx51_tzic.c
182
struct tzic_softc * const tzic = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imx51_tzic.c
211
tzic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/imx/imx51_tzic.c
213
struct tzic_softc * const tzic = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imx51_tzic.c
231
tzic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/imx/imx51_tzic.c
86
#define PIC_TO_SOFTC(pic) \
sys/arch/arm/imx/imx51_tzic.c
87
((struct tzic_softc *)((char *)(pic) - \
sys/arch/arm/imx/imxgpio.c
101
imxgpio_pic_block_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/imx/imxgpio.c
103
struct imxgpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imxgpio.c
111
imxgpio_pic_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/imx/imxgpio.c
113
struct imxgpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imxgpio.c
144
const struct intrsource *is = pic->pic_sources[irq];
sys/arch/arm/imx/imxgpio.c
176
imxgpio_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/imx/imxgpio.c
178
struct imxgpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/imx/imxgpio.c
79
#define PIC_TO_SOFTC(pic) \
sys/arch/arm/imx/imxgpio.c
80
((struct imxgpio_softc *)((char *)(pic) - \
sys/arch/arm/imx/imxgpio.c
89
imxgpio_pic_unblock_irqs(struct pic_softc *pic, size_t irq_base, uint32_t irq_mask)
sys/arch/arm/imx/imxgpio.c
91
struct imxgpio_softc * const gpio = PIC_TO_SOFTC(pic);
sys/arch/arm/marvell/armadaxp.c
610
armadaxp_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/armadaxp.c
617
KASSERT(pic->pic_maxsources >= n + irqbase);
sys/arch/arm/marvell/armadaxp.c
628
armadaxp_pic_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/armadaxp.c
635
KASSERT(pic->pic_maxsources >= n + irqbase);
sys/arch/arm/marvell/armadaxp.c
643
armadaxp_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/marvell/armadaxp.c
646
KASSERT(pic->pic_maxsources >= is->is_irq);
sys/arch/arm/marvell/armadaxp.c
655
armadaxp_pic_set_priority(struct pic_softc *pic, int ipl)
sys/arch/arm/marvell/armadaxp.c
674
armadaxp_pic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/marvell/armadaxp.c
707
armadaxp_pic_block_irq(struct pic_softc *pic, size_t irq)
sys/arch/arm/marvell/armadaxp.c
710
KASSERT(pic->pic_maxsources >= irq);
sys/arch/arm/marvell/armadaxp.c
716
armadaxp_err_pic_source_name(struct pic_softc *pic, int irq,
sys/arch/arm/marvell/armadaxp.c
731
armadaxp_err_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/armadaxp.c
744
armadaxp_err_pic_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/armadaxp.c
757
armadaxp_err_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/marvell/armadaxp.c
761
KASSERT(pic->pic_maxsources >= is->is_irq);
sys/arch/arm/marvell/armadaxp.c
769
armadaxp_err_pic_pending_irqs(struct pic_softc *pic)
sys/arch/arm/marvell/armadaxp.c
781
is = pic->pic_sources[irq];
sys/arch/arm/marvell/armadaxp.c
786
return pic_mark_pending_sources(pic, 0, irq);
sys/arch/arm/marvell/dove.c
213
dove_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/marvell/dove.c
224
dove_pic_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/dove.c
236
dove_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/marvell/dove.c
242
dove_pic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/marvell/dove.c
245
strlcpy(buf, sources[pic->pic_irqbase + irq], len);
sys/arch/arm/marvell/kirkwood.c
167
kirkwood_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/kirkwood.c
179
kirkwood_pic_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/kirkwood.c
191
kirkwood_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/marvell/kirkwood.c
197
kirkwood_pic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/marvell/kirkwood.c
200
strlcpy(buf, sources[pic->pic_irqbase + irq], len);
sys/arch/arm/marvell/mv78xx0.c
136
mv78xx0_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/mv78xx0.c
147
mv78xx0_pic_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/marvell/mv78xx0.c
157
mv78xx0_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/marvell/mv78xx0.c
173
mv78xx0_pic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/marvell/mv78xx0.c
176
strlcpy(buf, sources[pic->pic_irqbase + irq], len);
sys/arch/arm/marvell/mvsoc_intr.c
110
mvsoc_bridge_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/mvsoc_intr.c
122
mvsoc_bridge_pic_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/arm/marvell/mvsoc_intr.c
131
mvsoc_bridge_pic_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/marvell/mvsoc_intr.c
141
return pic_mark_pending_sources(pic, 0, pending);
sys/arch/arm/marvell/mvsoc_intr.c
146
mvsoc_bridge_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/marvell/mvsoc_intr.c
152
mvsoc_bridge_pic_source_name(struct pic_softc *pic, int irq, char *buf,
sys/arch/arm/marvell/mvsocgpp.c
242
gpio_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/marvell/mvsocgpp.c
245
struct mvsocgpp_pic *mvsocgpp_pic = (struct mvsocgpp_pic *)pic;
sys/arch/arm/marvell/mvsocgpp.c
266
gpio_pic_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/marvell/mvsocgpp.c
269
struct mvsocgpp_pic *mvsocgpp_pic = (struct mvsocgpp_pic *)pic;
sys/arch/arm/marvell/mvsocgpp.c
280
gpio_pic_find_pending_irqs(struct pic_softc *pic)
sys/arch/arm/marvell/mvsocgpp.c
283
struct mvsocgpp_pic *mvsocgpp_pic = (struct mvsocgpp_pic *)pic;
sys/arch/arm/marvell/mvsocgpp.c
296
return pic_mark_pending_sources(pic, 0, pending);
sys/arch/arm/marvell/mvsocgpp.c
300
gpio_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/marvell/mvsocgpp.c
303
struct mvsocgpp_pic *mvsocgpp_pic = (struct mvsocgpp_pic *)pic;
sys/arch/arm/marvell/mvsocgpp.c
308
pin = pic->pic_irqbase + is->is_irq - gpp_irqbase;
sys/arch/arm/marvell/orion.c
129
orion_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/marvell/orion.c
138
orion_pic_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/marvell/orion.c
147
orion_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/marvell/orion.c
153
orion_pic_source_name(struct pic_softc *pic, int irq, char *buf, size_t len)
sys/arch/arm/marvell/orion.c
156
strlcpy(buf, sources[pic->pic_irqbase + irq], len);
sys/arch/arm/pic/pic.c
1007
struct pic_softc * const pic = pic_list[slot];
sys/arch/arm/pic/pic.c
1008
if (pic == NULL || pic->pic_irqbase < 0)
sys/arch/arm/pic/pic.c
1010
for (irq = 0; irq < pic->pic_maxsources; irq++) {
sys/arch/arm/pic/pic.c
1011
is = pic->pic_sources[irq];
sys/arch/arm/pic/pic.c
1016
pic->pic_name, is->is_source);
sys/arch/arm/pic/pic.c
1108
struct pic_softc *pic;
sys/arch/arm/pic/pic.c
1115
pic = is->is_pic;
sys/arch/arm/pic/pic.c
1116
if (pic && pic->pic_ops->pic_get_affinity)
sys/arch/arm/pic/pic.c
1117
pic->pic_ops->pic_get_affinity(pic, is->is_irq, cpuset);
sys/arch/arm/pic/pic.c
1145
struct pic_softc * const pic = is->is_pic;
sys/arch/arm/pic/pic.c
1147
if (pic == NULL)
sys/arch/arm/pic/pic.c
1149
if (pic->pic_ops->pic_set_affinity == NULL ||
sys/arch/arm/pic/pic.c
1150
pic->pic_ops->pic_get_affinity == NULL)
sys/arch/arm/pic/pic.c
1157
pic->pic_ops->pic_get_affinity(pic, is->is_irq, oldset);
sys/arch/arm/pic/pic.c
1159
return pic->pic_ops->pic_set_affinity(pic, is->is_irq, newset);
sys/arch/arm/pic/pic.c
175
struct pic_softc * const pic = pic_list[slot];
sys/arch/arm/pic/pic.c
176
if (pic != NULL && pic->pic_ops->pic_cpu_init != NULL) {
sys/arch/arm/pic/pic.c
177
(*pic->pic_ops->pic_cpu_init)(pic, ci);
sys/arch/arm/pic/pic.c
192
struct pic_softc * const pic = pic_list[slot];
sys/arch/arm/pic/pic.c
193
if (pic == NULL || pic->pic_cpus == NULL)
sys/arch/arm/pic/pic.c
195
if (kcp == NULL || kcpuset_intersecting_p(kcp, pic->pic_cpus)) {
sys/arch/arm/pic/pic.c
204
if (pic->pic_cpus == ci->ci_kcpuset)
sys/arch/arm/pic/pic.c
207
(*pic->pic_ops->pic_ipi_send)(pic, kcp, ipi);
sys/arch/arm/pic/pic.c
213
if (kcp != NULL || pic->pic_cpus == kcpuset_running)
sys/arch/arm/pic/pic.c
242
struct pic_softc * const pic = arg;
sys/arch/arm/pic/pic.c
245
rv = (*pic->pic_ops->pic_find_pending_irqs)(pic);
sys/arch/arm/pic/pic.c
252
pic_mark_pending_source(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/pic/pic.c
257
atomic_or_32(&pic->pic_pending_irqs[is->is_irq >> 5],
sys/arch/arm/pic/pic.c
260
atomic_or_32(&pic->pic_pending_ipls, ipl_mask);
sys/arch/arm/pic/pic.c
262
ci->ci_pending_pics |= __BIT(pic->pic_id);
sys/arch/arm/pic/pic.c
266
pic_mark_pending(struct pic_softc *pic, int irq)
sys/arch/arm/pic/pic.c
268
struct intrsource * const is = pic->pic_sources[irq];
sys/arch/arm/pic/pic.c
270
KASSERT(irq < pic->pic_maxsources);
sys/arch/arm/pic/pic.c
273
pic_mark_pending_source(pic, is);
sys/arch/arm/pic/pic.c
277
pic_mark_pending_sources(struct pic_softc *pic, size_t irq_base,
sys/arch/arm/pic/pic.c
280
struct intrsource ** const isbase = &pic->pic_sources[irq_base];
sys/arch/arm/pic/pic.c
283
volatile uint32_t *ipending = &pic->pic_pending_irqs[irq_base >> 5];
sys/arch/arm/pic/pic.c
291
(*pic->pic_ops->pic_block_irqs)(pic, irq_base, pending);
sys/arch/arm/pic/pic.c
305
atomic_or_32(&pic->pic_pending_ipls, ipl_mask);
sys/arch/arm/pic/pic.c
307
ci->ci_pending_pics |= __BIT(pic->pic_id);
sys/arch/arm/pic/pic.c
313
pic_find_pending_irqs_by_ipl(struct pic_softc *pic, size_t irq_base,
sys/arch/arm/pic/pic.c
326
KASSERTMSG(pic->pic_sources[irq_base + irq] != NULL,
sys/arch/arm/pic/pic.c
329
if (pic->pic_sources[irq_base + irq] == NULL) {
sys/arch/arm/pic/pic.c
334
if (pic->pic_sources[irq_base + irq]->is_ipl == ipl)
sys/arch/arm/pic/pic.c
392
pic_deliver_irqs(struct cpu_info *ci, struct pic_softc *pic, int ipl,
sys/arch/arm/pic/pic.c
397
volatile uint32_t *ipending = pic->pic_pending_irqs;
sys/arch/arm/pic/pic.c
398
volatile uint32_t *iblocked = pic->pic_blocked_irqs;
sys/arch/arm/pic/pic.c
409
KASSERT(pic->pic_pending_ipls & ipl_mask);
sys/arch/arm/pic/pic.c
417
pending_irqs = pic_find_pending_irqs_by_ipl(pic, irq_base,
sys/arch/arm/pic/pic.c
424
if (__predict_true(irq_count >= pic->pic_maxsources)) {
sys/arch/arm/pic/pic.c
431
ipending = pic->pic_pending_irqs;
sys/arch/arm/pic/pic.c
432
iblocked = pic->pic_blocked_irqs;
sys/arch/arm/pic/pic.c
437
KASSERT(irq_base <= pic->pic_maxsources);
sys/arch/arm/pic/pic.c
451
is = pic->pic_sources[irq_base + irq];
sys/arch/arm/pic/pic.c
468
pending_irqs = pic_find_pending_irqs_by_ipl(pic,
sys/arch/arm/pic/pic.c
473
ci->ci_blocked_pics |= __BIT(pic->pic_id);
sys/arch/arm/pic/pic.c
482
if (atomic_and_32_nv(&pic->pic_pending_ipls, ~ipl_mask) == 0)
sys/arch/arm/pic/pic.c
483
ci->ci_pending_pics &= ~__BIT(pic->pic_id);
sys/arch/arm/pic/pic.c
494
struct pic_softc *pic;
sys/arch/arm/pic/pic.c
505
pic = pic_list[pic_id];
sys/arch/arm/pic/pic.c
506
KASSERT(pic != NULL);
sys/arch/arm/pic/pic.c
508
for (irq_base = 0, iblocked = pic->pic_blocked_irqs;
sys/arch/arm/pic/pic.c
509
irq_base < pic->pic_maxsources;
sys/arch/arm/pic/pic.c
512
(*pic->pic_ops->pic_unblock_irqs)(pic,
sys/arch/arm/pic/pic.c
518
KASSERT(pic->pic_blocked_irqs[0] != 0);
sys/arch/arm/pic/pic.c
519
(*pic->pic_ops->pic_unblock_irqs)(pic,
sys/arch/arm/pic/pic.c
520
0, pic->pic_blocked_irqs[0]);
sys/arch/arm/pic/pic.c
521
pic->pic_blocked_irqs[0] = 0;
sys/arch/arm/pic/pic.c
531
struct pic_softc *pic;
sys/arch/arm/pic/pic.c
538
pic = pic_list[pic_id];
sys/arch/arm/pic/pic.c
539
KASSERT(pic != NULL);
sys/arch/arm/pic/pic.c
540
if (pic->pic_pending_ipls & ipl_mask)
sys/arch/arm/pic/pic.c
541
return pic;
sys/arch/arm/pic/pic.c
551
struct pic_softc *pic;
sys/arch/arm/pic/pic.c
553
while ((pic = pic_list_find_pic_by_pending_ipl(ci, ipl_mask)) != NULL) {
sys/arch/arm/pic/pic.c
554
pic_deliver_irqs(ci, pic, ipl, frame);
sys/arch/arm/pic/pic.c
555
KASSERT((pic->pic_pending_ipls & ipl_mask) == 0);
sys/arch/arm/pic/pic.c
599
struct pic_softc * const pic = v1;
sys/arch/arm/pic/pic.c
601
pcpu->pcpu_evs = kmem_zalloc(pic->pic_maxsources * sizeof(pcpu->pcpu_evs[0]),
sys/arch/arm/pic/pic.c
606
const size_t namelen = strlen(pic->pic_name) + 4 + strlen(ci->ci_data.cpu_name);
sys/arch/arm/pic/pic.c
612
"%s (%s)", pic->pic_name, ci->ci_data.cpu_name);
sys/arch/arm/pic/pic.c
614
strlcpy(pcpu->pcpu_name, pic->pic_name, PCPU_NAMELEN);
sys/arch/arm/pic/pic.c
619
__func__, ci->ci_data.cpu_name, pic->pic_name,
sys/arch/arm/pic/pic.c
634
pic_add(struct pic_softc *pic, int irqbase)
sys/arch/arm/pic/pic.c
644
KASSERT(strlen(pic->pic_name) > 0);
sys/arch/arm/pic/pic.c
663
if (irqbase + pic->pic_maxsources <= xpic->pic_irqbase)
sys/arch/arm/pic/pic.c
667
pic->pic_name, pic->pic_maxsources, irqbase,
sys/arch/arm/pic/pic.c
673
pic->pic_name, pic_sourcebase, pic->pic_maxsources);
sys/arch/arm/pic/pic.c
675
KASSERTMSG(pic->pic_maxsources <= PIC_MAXSOURCES, "%zu",
sys/arch/arm/pic/pic.c
676
pic->pic_maxsources);
sys/arch/arm/pic/pic.c
677
KASSERT(pic_sourcebase + pic->pic_maxsources <= PIC_MAXMAXSOURCES);
sys/arch/arm/pic/pic.c
679
pic_sourcebase += pic->pic_maxsources;
sys/arch/arm/pic/pic.c
680
if (pic_lastbase < irqbase + pic->pic_maxsources)
sys/arch/arm/pic/pic.c
681
pic_lastbase = irqbase + pic->pic_maxsources;
sys/arch/arm/pic/pic.c
692
pic->pic_percpu = percpu_create(sizeof(struct pic_percpu),
sys/arch/arm/pic/pic.c
693
pic_percpu_allocate, NULL, pic);
sys/arch/arm/pic/pic.c
695
pic->pic_sources = &pic_sources[sourcebase];
sys/arch/arm/pic/pic.c
696
pic->pic_irqbase = irqbase;
sys/arch/arm/pic/pic.c
697
pic->pic_id = slot;
sys/arch/arm/pic/pic.c
699
KASSERT((slot == 0) == (pic->pic_ops->pic_set_priority != NULL));
sys/arch/arm/pic/pic.c
702
KASSERT((pic->pic_cpus != NULL) == (pic->pic_ops->pic_ipi_send != NULL));
sys/arch/arm/pic/pic.c
704
pic_list[slot] = pic;
sys/arch/arm/pic/pic.c
710
pic_alloc_irq(struct pic_softc *pic)
sys/arch/arm/pic/pic.c
714
for (irq = 0; irq < pic->pic_maxsources; irq++) {
sys/arch/arm/pic/pic.c
715
if (pic->pic_sources[irq] == NULL)
sys/arch/arm/pic/pic.c
736
struct pic_softc *pic = arg1;
sys/arch/arm/pic/pic.c
739
(*pic->pic_ops->pic_unblock_irqs)(pic, is->is_irq & ~0x1f,
sys/arch/arm/pic/pic.c
744
pic_establish_intr(struct pic_softc *pic, int irq, int ipl, int type,
sys/arch/arm/pic/pic.c
750
if (pic->pic_sources[irq]) {
sys/arch/arm/pic/pic.c
752
pic->pic_name, irq);
sys/arch/arm/pic/pic.c
757
is->is_pic = pic;
sys/arch/arm/pic/pic.c
767
if (pic->pic_ops->pic_source_name)
sys/arch/arm/pic/pic.c
768
(*pic->pic_ops->pic_source_name)(pic, irq, is->is_source,
sys/arch/arm/pic/pic.c
776
percpu_foreach(pic->pic_percpu, pic_percpu_evcnt_attach, is);
sys/arch/arm/pic/pic.c
778
pic->pic_sources[irq] = is;
sys/arch/arm/pic/pic.c
819
(*pic->pic_ops->pic_establish_irq)(pic, is);
sys/arch/arm/pic/pic.c
822
(*pic->pic_ops->pic_unblock_irqs)(pic, is->is_irq & ~0x1f,
sys/arch/arm/pic/pic.c
825
uint64_t xc = xc_broadcast(0, pic_unblock_percpu, pic, is);
sys/arch/arm/pic/pic.c
854
struct pic_softc * const pic = is->is_pic;
sys/arch/arm/pic/pic.c
857
KASSERT(is == pic->pic_sources[irq]);
sys/arch/arm/pic/pic.c
859
(*pic->pic_ops->pic_block_irqs)(pic, irq & ~0x1f, __BIT(irq & 0x1f));
sys/arch/arm/pic/pic.c
860
pic->pic_sources[irq] = NULL;
sys/arch/arm/pic/pic.c
869
percpu_foreach(pic->pic_percpu, pic_percpu_evcnt_deattach, is);
sys/arch/arm/pic/pic.c
888
struct pic_softc * const pic = pic_list[slot];
sys/arch/arm/pic/pic.c
889
if (pic == NULL || pic->pic_irqbase < 0)
sys/arch/arm/pic/pic.c
891
if (pic->pic_irqbase <= irq
sys/arch/arm/pic/pic.c
892
&& irq < pic->pic_irqbase + pic->pic_maxsources) {
sys/arch/arm/pic/pic.c
893
return pic_establish_intr(pic, irq - pic->pic_irqbase,
sys/arch/arm/pic/pic.c
916
struct pic_softc * const pic = is->is_pic;
sys/arch/arm/pic/pic.c
920
(*pic->pic_ops->pic_block_irqs)(pic, irq & ~0x1f, __BIT(irq & 0x1f));
sys/arch/arm/pic/pic.c
927
struct pic_softc * const pic = is->is_pic;
sys/arch/arm/pic/pic.c
931
(*pic->pic_ops->pic_unblock_irqs)(pic, irq & ~0x1f, __BIT(irq & 0x1f));
sys/arch/arm/pic/pic.c
938
struct pic_softc * const pic = pic_list[slot];
sys/arch/arm/pic/pic.c
939
if (pic == NULL || pic->pic_irqbase < 0)
sys/arch/arm/pic/pic.c
941
if (pic->pic_irqbase <= irq
sys/arch/arm/pic/pic.c
942
&& irq < pic->pic_irqbase + pic->pic_maxsources) {
sys/arch/arm/pic/pic.c
943
struct intrsource * const is = pic->pic_sources[irq - pic->pic_irqbase];
sys/arch/arm/pic/pic.c
944
snprintf(buf, len, "%s %s", pic->pic_name, is->is_source);
sys/arch/arm/pic/pic.c
963
struct pic_softc * const pic = pic_list[slot];
sys/arch/arm/pic/pic.c
964
if (pic == NULL || pic->pic_irqbase < 0)
sys/arch/arm/pic/pic.c
966
for (irq = 0; irq < pic->pic_maxsources; irq++) {
sys/arch/arm/pic/pic.c
967
is = pic->pic_sources[irq];
sys/arch/arm/pic/pic.c
971
snprintf(buf, sizeof(buf), "%s %s", pic->pic_name, is->is_source);
sys/arch/arm/pic/pic.c
993
struct pic_softc * const pic = pic_list[slot];
sys/arch/arm/pic/pic.c
994
if (pic != NULL && pic->pic_irqbase >= 0) {
sys/arch/arm/pic/pic.c
995
for (irq = 0; irq < pic->pic_maxsources; irq++) {
sys/arch/arm/pic/pic.c
996
is = pic->pic_sources[irq];
sys/arch/arm/pic/picvar.h
73
void pic_mark_pending(struct pic_softc *pic, int irq);
sys/arch/arm/pic/picvar.h
74
void pic_mark_pending_source(struct pic_softc *pic, struct intrsource *is);
sys/arch/arm/pic/picvar.h
75
uint32_t pic_mark_pending_sources(struct pic_softc *pic, size_t irq_base,
sys/arch/arm/pic/picvar.h
78
void *pic_establish_intr(struct pic_softc *pic, int irq, int ipl, int type,
sys/arch/arm/pic/picvar.h
80
int pic_alloc_irq(struct pic_softc *pic);
sys/arch/arm/sunxi/sunxi_intc.c
104
sunxi_intc_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t mask)
sys/arch/arm/sunxi/sunxi_intc.c
106
struct sunxi_intc_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/sunxi/sunxi_intc.c
115
sunxi_intc_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/sunxi/sunxi_intc.c
122
sunxi_intc_set_priority(struct pic_softc *pic, int ipl)
sys/arch/arm/sunxi/sunxi_intc.c
83
#define PICTOSOFTC(pic) \
sys/arch/arm/sunxi/sunxi_intc.c
84
((void *)((uintptr_t)(pic) - offsetof(struct sunxi_intc_softc, sc_pic)))
sys/arch/arm/sunxi/sunxi_intc.c
92
sunxi_intc_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t mask)
sys/arch/arm/sunxi/sunxi_intc.c
94
struct sunxi_intc_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/ti/am18xx_intc.c
146
am18xx_intc_unblock_irqs(struct pic_softc *pic, size_t irq_base, uint32_t mask)
sys/arch/arm/ti/am18xx_intc.c
148
struct am18xx_intc_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/ti/am18xx_intc.c
156
am18xx_intc_block_irqs(struct pic_softc *pic, size_t irq_base, uint32_t mask)
sys/arch/arm/ti/am18xx_intc.c
158
struct am18xx_intc_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/ti/am18xx_intc.c
166
am18xx_intc_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/ti/am18xx_intc.c
168
struct am18xx_intc_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/ti/am18xx_intc.c
182
am18xx_intc_set_priority(struct pic_softc *pic, int new_ipl)
sys/arch/arm/ti/am18xx_intc.c
86
#define PICTOSOFTC(pic) \
sys/arch/arm/ti/am18xx_intc.c
88
((uintptr_t)(pic) - offsetof(struct am18xx_intc_softc, sc_pic)))
sys/arch/arm/ti/ti_omapintc.c
108
omap2icu_unblock_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/ti/ti_omapintc.c
110
struct omap2icu_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/ti/ti_omapintc.c
121
omap2icu_block_irqs(struct pic_softc *pic, size_t irqbase, uint32_t irq_mask)
sys/arch/arm/ti/ti_omapintc.c
123
struct omap2icu_softc * const sc = PICTOSOFTC(pic);
sys/arch/arm/ti/ti_omapintc.c
173
omap2icu_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/arm/ti/ti_omapintc.c
175
KASSERT(is->is_irq < PICTOSOFTC(pic)->sc_pic.pic_maxsources);
sys/arch/arm/ti/ti_omapintc.c
180
omap2icu_set_priority(struct pic_softc *pic, int ipl)
sys/arch/arm/ti/ti_omapintc.c
93
#define PICTOSOFTC(pic) \
sys/arch/arm/ti/ti_omapintc.c
94
((struct omap2icu_softc *)((uintptr_t)(pic) - offsetof(struct omap2icu_softc, sc_pic)))
sys/arch/bebox/bebox/pic_bebox.c
107
bebox_ack_irq(struct pic_ops *pic, int irq)
sys/arch/bebox/bebox/pic_bebox.c
58
struct pic_ops *pic;
sys/arch/bebox/bebox/pic_bebox.c
60
pic = kmem_alloc(sizeof(struct pic_ops), KM_SLEEP);
sys/arch/bebox/bebox/pic_bebox.c
61
pic->pic_numintrs = 32;
sys/arch/bebox/bebox/pic_bebox.c
62
pic->pic_cookie = (void *)BEBOX_REG;
sys/arch/bebox/bebox/pic_bebox.c
63
pic->pic_enable_irq = bebox_enable_irq;
sys/arch/bebox/bebox/pic_bebox.c
64
pic->pic_reenable_irq = bebox_enable_irq;
sys/arch/bebox/bebox/pic_bebox.c
65
pic->pic_disable_irq = bebox_disable_irq;
sys/arch/bebox/bebox/pic_bebox.c
66
pic->pic_get_irq = bebox_get_irq;
sys/arch/bebox/bebox/pic_bebox.c
67
pic->pic_ack_irq = bebox_ack_irq;
sys/arch/bebox/bebox/pic_bebox.c
68
pic->pic_establish_irq = dummy_pic_establish_intr;
sys/arch/bebox/bebox/pic_bebox.c
69
strcpy(pic->pic_name, "bebox");
sys/arch/bebox/bebox/pic_bebox.c
70
pic_add(pic);
sys/arch/bebox/bebox/pic_bebox.c
76
return(pic);
sys/arch/bebox/bebox/pic_bebox.c
80
bebox_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/bebox/bebox/pic_bebox.c
87
bebox_disable_irq(struct pic_ops *pic, int irq)
sys/arch/bebox/bebox/pic_bebox.c
94
bebox_get_irq(struct pic_ops *pic, int mode)
sys/arch/epoc32/windermere/windermere.c
214
windermere_pic_unblock_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/epoc32/windermere/windermere.c
226
windermere_pic_block_irqs(struct pic_softc *pic, size_t irqbase,
sys/arch/epoc32/windermere/windermere.c
237
windermere_pic_establish_irq(struct pic_softc *pic, struct intrsource *is)
sys/arch/evbppc/nintendo/dev/ahb.c
176
hollywood_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/evbppc/nintendo/dev/ahb.c
183
hollywood_disable_irq(struct pic_ops *pic, int irq)
sys/arch/evbppc/nintendo/dev/ahb.c
190
hollywood_get_irq(struct pic_ops *pic, int mode)
sys/arch/evbppc/nintendo/dev/ahb.c
206
hollywood_ack_irq(struct pic_ops *pic, int irq)
sys/arch/evbppc/nintendo/dev/ahb.c
212
hollywood_establish_irq(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/evbppc/nintendo/dev/ahb.c
224
latte_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/evbppc/nintendo/dev/ahb.c
233
latte_disable_irq(struct pic_ops *pic, int irq)
sys/arch/evbppc/nintendo/dev/ahb.c
242
latte_get_irq(struct pic_ops *pic, int mode)
sys/arch/evbppc/nintendo/dev/ahb.c
264
latte_ack_irq(struct pic_ops *pic, int irq)
sys/arch/evbppc/nintendo/dev/ahb.c
272
latte_establish_irq(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/evbppc/nintendo/pic_pi.c
116
pi_get_irq(struct pic_ops *pic, int mode)
sys/arch/evbppc/nintendo/pic_pi.c
147
pi_ack_irq(struct pic_ops *pic, int irq)
sys/arch/evbppc/nintendo/pic_pi.c
156
static struct pic_ops pic = {
sys/arch/evbppc/nintendo/pic_pi.c
189
pic_add(&pic);
sys/arch/evbppc/nintendo/pic_pi.c
87
pi_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/evbppc/nintendo/pic_pi.c
96
pi_disable_irq(struct pic_ops *pic, int irq)
sys/arch/evbppc/pmppc/pic_cpc700.c
104
cpc700_ack_irq(struct pic_ops *pic, int irq)
sys/arch/evbppc/pmppc/pic_cpc700.c
54
struct pic_ops pic;
sys/arch/evbppc/pmppc/pic_cpc700.c
61
struct pic_ops *pic;
sys/arch/evbppc/pmppc/pic_cpc700.c
64
pic = &cpc700->pic;
sys/arch/evbppc/pmppc/pic_cpc700.c
66
pic->pic_numintrs = 32;
sys/arch/evbppc/pmppc/pic_cpc700.c
67
pic->pic_cookie = (void *)NULL;
sys/arch/evbppc/pmppc/pic_cpc700.c
68
pic->pic_enable_irq = cpc700_pic_enable_irq;
sys/arch/evbppc/pmppc/pic_cpc700.c
69
pic->pic_reenable_irq = cpc700_pic_enable_irq;
sys/arch/evbppc/pmppc/pic_cpc700.c
70
pic->pic_disable_irq = cpc700_pic_disable_irq;
sys/arch/evbppc/pmppc/pic_cpc700.c
71
pic->pic_get_irq = cpc700_get_irq;
sys/arch/evbppc/pmppc/pic_cpc700.c
72
pic->pic_ack_irq = cpc700_ack_irq;
sys/arch/evbppc/pmppc/pic_cpc700.c
73
pic->pic_establish_irq = dummy_pic_establish_intr;
sys/arch/evbppc/pmppc/pic_cpc700.c
74
strcpy(pic->pic_name, "cpc700");
sys/arch/evbppc/pmppc/pic_cpc700.c
75
pic_add(pic);
sys/arch/evbppc/pmppc/pic_cpc700.c
77
return pic;
sys/arch/evbppc/pmppc/pic_cpc700.c
81
cpc700_pic_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/evbppc/pmppc/pic_cpc700.c
87
cpc700_pic_disable_irq(struct pic_ops *pic, int irq)
sys/arch/evbppc/pmppc/pic_cpc700.c
93
cpc700_get_irq(struct pic_ops *pic, int dummy)
sys/arch/hpcmips/dev/plumicu.c
172
const struct plum_intr_ctrl *pic;
sys/arch/hpcmips/dev/plumicu.c
194
pic = &pi_ctrl[i];
sys/arch/hpcmips/dev/plumicu.c
195
if (pic->ic_ienreg) {
sys/arch/hpcmips/dev/plumicu.c
196
reg = plum_conf_read(regt, regh, pic->ic_ienreg);
sys/arch/hpcmips/dev/plumicu.c
197
reg &= ~pic->ic_ienpat;
sys/arch/hpcmips/dev/plumicu.c
198
plum_conf_write(regt, regh, pic->ic_ienreg, reg);
sys/arch/hpcmips/dev/plumicu.c
200
if (pic->ic_senreg) {
sys/arch/hpcmips/dev/plumicu.c
201
reg = plum_conf_read(regt, regh, pic->ic_senreg);
sys/arch/hpcmips/dev/plumicu.c
202
reg &= ~pic->ic_senpat;
sys/arch/hpcmips/dev/plumicu.c
203
plum_conf_write(regt, regh, pic->ic_senreg, reg);
sys/arch/hpcmips/dev/plumicu.c
348
register const struct plum_intr_ctrl *pic = &pi_ctrl[i];
sys/arch/hpcmips/dev/plumicu.c
350
if (!(pic->ic_ackpat1 & reg1))
sys/arch/hpcmips/dev/plumicu.c
357
if (pic->ic_ackreg2 == 0) {
sys/arch/hpcmips/dev/plumicu.c
362
reg2 = pic->ic_ackreg2 == PLUM_INT_PCCINTS_REG
sys/arch/hpcmips/dev/plumicu.c
365
if (pic->ic_ackpat2 & reg2)
sys/arch/hppa/dev/mongoose.c
283
volatile uint8_t *imr, *pic;
sys/arch/hppa/dev/mongoose.c
308
pic = &sc->sc_ctrl->pic0;
sys/arch/hppa/dev/mongoose.c
311
pic = &sc->sc_ctrl->pic1;
sys/arch/hppa/dev/mongoose.c
316
*pic |= (type == IST_LEVEL) << irq;
sys/arch/i386/eisa/eisa_machdep.c
201
struct pic *pic;
sys/arch/i386/eisa/eisa_machdep.c
203
pic = &i8259_pic;
sys/arch/i386/eisa/eisa_machdep.c
214
pic = &ioapic->sc_pic;
sys/arch/i386/eisa/eisa_machdep.c
222
return intr_establish(irq, pic, pin, type, level, func, arg, false);
sys/arch/i386/pci/elan520.c
935
struct pic *pic;
sys/arch/i386/pci/elan520.c
938
if ((pic = intr_findpic(ELAN_IRQ)) == NULL) {
sys/arch/i386/pci/elan520.c
942
} else if ((ih = intr_establish(ELAN_IRQ, pic, ELAN_IRQ,
sys/arch/macppc/macppc/interrupts.c
206
struct pic_ops *pic;
sys/arch/macppc/macppc/interrupts.c
218
pic = find_pic_by_cookie((void *)picbase);
sys/arch/macppc/macppc/interrupts.c
219
if (pic != NULL) {
sys/arch/macppc/macppc/interrupts.c
223
pic->pic_name, irq);
sys/arch/macppc/macppc/interrupts.c
225
irq += pic->pic_intrbase;
sys/arch/macppc/macppc/interrupts.c
71
int pic, macio;
sys/arch/macppc/macppc/interrupts.c
83
pic = OF_child(macio);
sys/arch/macppc/macppc/interrupts.c
84
while ((pic != 0) && !of_compatible(pic, compat))
sys/arch/macppc/macppc/interrupts.c
85
pic = OF_peer(pic);
sys/arch/macppc/macppc/interrupts.c
87
aprint_debug("pic: %08x\n", pic);
sys/arch/macppc/macppc/interrupts.c
88
if ((pic == -1) || (pic == 0))
sys/arch/macppc/macppc/interrupts.c
97
if (OF_getprop(pic, "reg", reg, 8) < 8)
sys/arch/macppc/macppc/pic_heathrow.c
108
struct pic_ops *pic;
sys/arch/macppc/macppc/pic_heathrow.c
111
pic = &heathrow->pic;
sys/arch/macppc/macppc/pic_heathrow.c
113
pic->pic_numintrs = 64;
sys/arch/macppc/macppc/pic_heathrow.c
114
pic->pic_cookie = (void *)addr;
sys/arch/macppc/macppc/pic_heathrow.c
115
pic->pic_enable_irq = heathrow_enable_irq;
sys/arch/macppc/macppc/pic_heathrow.c
116
pic->pic_reenable_irq = heathrow_reenable_irq;
sys/arch/macppc/macppc/pic_heathrow.c
117
pic->pic_disable_irq = heathrow_disable_irq;
sys/arch/macppc/macppc/pic_heathrow.c
118
pic->pic_get_irq = heathrow_get_irq;
sys/arch/macppc/macppc/pic_heathrow.c
119
pic->pic_ack_irq = heathrow_ack_irq;
sys/arch/macppc/macppc/pic_heathrow.c
120
pic->pic_establish_irq = heathrow_establish_irq;
sys/arch/macppc/macppc/pic_heathrow.c
121
pic->pic_finish_setup = NULL;
sys/arch/macppc/macppc/pic_heathrow.c
123
strcpy(pic->pic_name, "heathrow");
sys/arch/macppc/macppc/pic_heathrow.c
124
pic_add(pic);
sys/arch/macppc/macppc/pic_heathrow.c
139
heathrow_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/macppc/macppc/pic_heathrow.c
141
struct heathrow_ops *heathrow = (struct heathrow_ops *)pic;
sys/arch/macppc/macppc/pic_heathrow.c
154
heathrow_reenable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/macppc/macppc/pic_heathrow.c
156
struct heathrow_ops *heathrow = (struct heathrow_ops *)pic;
sys/arch/macppc/macppc/pic_heathrow.c
165
pic_mark_pending(pic->pic_intrbase + irq);
sys/arch/macppc/macppc/pic_heathrow.c
173
pic_mark_pending(pic->pic_intrbase + irq);
sys/arch/macppc/macppc/pic_heathrow.c
180
heathrow_disable_irq(struct pic_ops *pic, int irq)
sys/arch/macppc/macppc/pic_heathrow.c
182
struct heathrow_ops *heathrow = (struct heathrow_ops *)pic;
sys/arch/macppc/macppc/pic_heathrow.c
197
struct pic_ops *pic = &heathrow->pic;
sys/arch/macppc/macppc/pic_heathrow.c
219
heathrow_get_irq(struct pic_ops *pic, int mode)
sys/arch/macppc/macppc/pic_heathrow.c
221
struct heathrow_ops *heathrow = (struct heathrow_ops *)pic;
sys/arch/macppc/macppc/pic_heathrow.c
250
heathrow_ack_irq(struct pic_ops *pic, int irq)
sys/arch/macppc/macppc/pic_heathrow.c
255
heathrow_establish_irq(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/macppc/macppc/pic_heathrow.c
257
struct heathrow_ops *heathrow = (struct heathrow_ops *)pic;
sys/arch/macppc/macppc/pic_heathrow.c
53
struct pic_ops pic;
sys/arch/macppc/macppc/pic_heathrow.c
65
#define INT_STATE_REG_H ((uint32_t)pic->pic_cookie + 0x10)
sys/arch/macppc/macppc/pic_heathrow.c
66
#define INT_ENABLE_REG_H ((uint32_t)pic->pic_cookie + 0x14)
sys/arch/macppc/macppc/pic_heathrow.c
67
#define INT_CLEAR_REG_H ((uint32_t)pic->pic_cookie + 0x18)
sys/arch/macppc/macppc/pic_heathrow.c
68
#define INT_LEVEL_REG_H ((uint32_t)pic->pic_cookie + 0x1c)
sys/arch/macppc/macppc/pic_heathrow.c
69
#define INT_STATE_REG_L ((uint32_t)pic->pic_cookie + 0x20)
sys/arch/macppc/macppc/pic_heathrow.c
70
#define INT_ENABLE_REG_L ((uint32_t)pic->pic_cookie + 0x24)
sys/arch/macppc/macppc/pic_heathrow.c
71
#define INT_CLEAR_REG_L ((uint32_t)pic->pic_cookie + 0x28)
sys/arch/macppc/macppc/pic_heathrow.c
72
#define INT_LEVEL_REG_L ((uint32_t)pic->pic_cookie + 0x2c)
sys/arch/macppc/macppc/pic_ohare.c
116
struct pic_ops *pic;
sys/arch/macppc/macppc/pic_ohare.c
120
pic = &ohare->pic;
sys/arch/macppc/macppc/pic_ohare.c
122
pic->pic_numintrs = OHARE_NIRQ;
sys/arch/macppc/macppc/pic_ohare.c
123
pic->pic_cookie = (void *)addr;
sys/arch/macppc/macppc/pic_ohare.c
124
pic->pic_enable_irq = ohare_enable_irq;
sys/arch/macppc/macppc/pic_ohare.c
125
pic->pic_reenable_irq = ohare_reenable_irq;
sys/arch/macppc/macppc/pic_ohare.c
126
pic->pic_disable_irq = ohare_disable_irq;
sys/arch/macppc/macppc/pic_ohare.c
127
pic->pic_get_irq = ohare_get_irq;
sys/arch/macppc/macppc/pic_ohare.c
128
pic->pic_ack_irq = ohare_ack_irq;
sys/arch/macppc/macppc/pic_ohare.c
129
pic->pic_establish_irq = ohare_establish_irq;
sys/arch/macppc/macppc/pic_ohare.c
130
pic->pic_finish_setup = NULL;
sys/arch/macppc/macppc/pic_ohare.c
134
strcpy(pic->pic_name, "gc");
sys/arch/macppc/macppc/pic_ohare.c
137
strcpy(pic->pic_name, "ohare");
sys/arch/macppc/macppc/pic_ohare.c
145
pic_add(pic);
sys/arch/macppc/macppc/pic_ohare.c
156
struct ohare_ops *pic;
sys/arch/macppc/macppc/pic_ohare.c
158
pic = setup_ohare(addr, 0);
sys/arch/macppc/macppc/pic_ohare.c
159
strcpy(pic->pic.pic_name, "ohare2");
sys/arch/macppc/macppc/pic_ohare.c
160
intr_establish_xname(irq, IST_LEVEL, IPL_HIGH, pic_handle_intr, pic,
sys/arch/macppc/macppc/pic_ohare.c
165
ohare_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/macppc/macppc/pic_ohare.c
167
struct ohare_ops *ohare = (struct ohare_ops *)pic;
sys/arch/macppc/macppc/pic_ohare.c
175
ohare_reenable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/macppc/macppc/pic_ohare.c
177
struct ohare_ops *ohare = (struct ohare_ops *)pic;
sys/arch/macppc/macppc/pic_ohare.c
185
pic_mark_pending(pic->pic_intrbase + irq);
sys/arch/macppc/macppc/pic_ohare.c
191
ohare_disable_irq(struct pic_ops *pic, int irq)
sys/arch/macppc/macppc/pic_ohare.c
193
struct ohare_ops *ohare = (struct ohare_ops *)pic;
sys/arch/macppc/macppc/pic_ohare.c
203
struct pic_ops *pic = &ohare->pic;
sys/arch/macppc/macppc/pic_ohare.c
221
ohare_get_irq(struct pic_ops *pic, int mode)
sys/arch/macppc/macppc/pic_ohare.c
223
struct ohare_ops *ohare = (struct ohare_ops *)pic;
sys/arch/macppc/macppc/pic_ohare.c
269
ohare->pic.pic_name);
sys/arch/macppc/macppc/pic_ohare.c
285
ohare_ack_irq(struct pic_ops *pic, int irq)
sys/arch/macppc/macppc/pic_ohare.c
290
ohare_establish_irq(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/macppc/macppc/pic_ohare.c
292
struct ohare_ops *ohare = (struct ohare_ops *)pic;
sys/arch/macppc/macppc/pic_ohare.c
55
struct pic_ops pic;
sys/arch/macppc/macppc/pic_ohare.c
67
#define INT_STATE_REG ((uint32_t)pic->pic_cookie + 0x20)
sys/arch/macppc/macppc/pic_ohare.c
68
#define INT_ENABLE_REG ((uint32_t)pic->pic_cookie + 0x24)
sys/arch/macppc/macppc/pic_ohare.c
69
#define INT_CLEAR_REG ((uint32_t)pic->pic_cookie + 0x28)
sys/arch/macppc/macppc/pic_ohare.c
70
#define INT_LEVEL_REG ((uint32_t)pic->pic_cookie + 0x2c)
sys/arch/macppc/macppc/pic_u3_ht.c
133
int u4, pic, irq = -1;
sys/arch/macppc/macppc/pic_u3_ht.c
151
pic = OF_child(u4);
sys/arch/macppc/macppc/pic_u3_ht.c
152
while ((pic != 0) && !of_compatible(pic, pic_compat))
sys/arch/macppc/macppc/pic_u3_ht.c
153
pic = OF_peer(pic);
sys/arch/macppc/macppc/pic_u3_ht.c
155
if ((pic == -1) || (pic == 0))
sys/arch/macppc/macppc/pic_u3_ht.c
172
if (OF_getprop(pic, "big-endian", reg, 4) > -1)
sys/arch/macppc/macppc/pic_u3_ht.c
175
if (OF_getprop(pic, "reg", reg, 8) != 8)
sys/arch/macppc/macppc/pic_u3_ht.c
181
if (OF_getprop(pic, "interrupts", reg, 8) > 4) {
sys/arch/macppc/macppc/pic_u3_ht.c
198
struct pic_ops *pic;
sys/arch/macppc/macppc/pic_u3_ht.c
204
pic = &u3_ht->pic;
sys/arch/macppc/macppc/pic_u3_ht.c
234
pic->pic_numintrs = IPI_VECTOR + 1;
sys/arch/macppc/macppc/pic_u3_ht.c
235
pic->pic_cookie = (void *) addr;
sys/arch/macppc/macppc/pic_u3_ht.c
236
pic->pic_enable_irq = u3_ht_enable_irq;
sys/arch/macppc/macppc/pic_u3_ht.c
237
pic->pic_reenable_irq = u3_ht_enable_irq;
sys/arch/macppc/macppc/pic_u3_ht.c
238
pic->pic_disable_irq = u3_ht_disable_irq;
sys/arch/macppc/macppc/pic_u3_ht.c
239
pic->pic_get_irq = u3_ht_get_irq;
sys/arch/macppc/macppc/pic_u3_ht.c
240
pic->pic_ack_irq = u3_ht_ack_irq;
sys/arch/macppc/macppc/pic_u3_ht.c
241
pic->pic_establish_irq = u3_ht_establish_irq;
sys/arch/macppc/macppc/pic_u3_ht.c
242
pic->pic_finish_setup = u3_ht_finish_setup;
sys/arch/macppc/macppc/pic_u3_ht.c
243
strcpy(pic->pic_name, "u3_ht");
sys/arch/macppc/macppc/pic_u3_ht.c
244
pic_add(pic);
sys/arch/macppc/macppc/pic_u3_ht.c
256
for (irq = 4; irq < pic->pic_numintrs; irq++) {
sys/arch/macppc/macppc/pic_u3_ht.c
273
for (irq = 0; irq < pic->pic_numintrs; irq++) {
sys/arch/macppc/macppc/pic_u3_ht.c
281
pic_handle_intr, pic, "u3_ht");
sys/arch/macppc/macppc/pic_u3_ht.c
384
u3_ht_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/macppc/macppc/pic_u3_ht.c
386
struct u3_ht_ops *u3_ht = (struct u3_ht_ops *)pic;
sys/arch/macppc/macppc/pic_u3_ht.c
401
u3_ht_disable_irq(struct pic_ops *pic, int irq)
sys/arch/macppc/macppc/pic_u3_ht.c
403
struct u3_ht_ops *u3_ht = (struct u3_ht_ops *)pic;
sys/arch/macppc/macppc/pic_u3_ht.c
418
u3_ht_get_irq(struct pic_ops *pic, int mode)
sys/arch/macppc/macppc/pic_u3_ht.c
420
struct u3_ht_ops *u3_ht = (struct u3_ht_ops *)pic;
sys/arch/macppc/macppc/pic_u3_ht.c
426
u3_ht_ack_irq(struct pic_ops *pic, int irq)
sys/arch/macppc/macppc/pic_u3_ht.c
428
struct u3_ht_ops *u3_ht = (struct u3_ht_ops *)pic;
sys/arch/macppc/macppc/pic_u3_ht.c
437
u3_ht_establish_irq(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/macppc/macppc/pic_u3_ht.c
439
struct u3_ht_ops *u3_ht = (struct u3_ht_ops *)pic;
sys/arch/macppc/macppc/pic_u3_ht.c
466
u3_ht_finish_setup(struct pic_ops *pic)
sys/arch/macppc/macppc/pic_u3_ht.c
468
struct u3_ht_ops *u3_ht = (struct u3_ht_ops *)pic;
sys/arch/macppc/macppc/pic_u3_ht.c
479
for (i = 0; i < pic->pic_numintrs; i++)
sys/arch/macppc/macppc/pic_u3_ht.c
69
struct pic_ops pic;
sys/arch/powerpc/ibm4xx/pic_uic.c
240
uic1_finish_setup(struct pic_ops *pic)
sys/arch/powerpc/ibm4xx/pic_uic.c
294
uic2_finish_setup(struct pic_ops *pic)
sys/arch/powerpc/ibm4xx/pic_uic.c
350
uic3_finish_setup(struct pic_ops *pic)
sys/arch/powerpc/ibm4xx/pic_uic.c
389
struct pic_ops * const pic = &pic_uic403;
sys/arch/powerpc/ibm4xx/pic_uic.c
391
struct pic_ops * const pic = &pic_uic0;
sys/arch/powerpc/ibm4xx/pic_uic.c
393
struct uic * const uic = pic->pic_cookie;
sys/arch/powerpc/ibm4xx/pic_uic.c
398
pic_add(pic);
sys/arch/powerpc/ibm4xx/pic_uic.c
402
uic_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/ibm4xx/pic_uic.c
404
struct uic * const uic = pic->pic_cookie;
sys/arch/powerpc/ibm4xx/pic_uic.c
412
pic->pic_name, irq, irqmask);
sys/arch/powerpc/ibm4xx/pic_uic.c
417
uic_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/ibm4xx/pic_uic.c
419
struct uic * const uic = pic->pic_cookie;
sys/arch/powerpc/ibm4xx/pic_uic.c
427
pic->pic_name, irq, irqmask);
sys/arch/powerpc/ibm4xx/pic_uic.c
432
uic_ack_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/ibm4xx/pic_uic.c
434
struct uic * const uic = pic->pic_cookie;
sys/arch/powerpc/ibm4xx/pic_uic.c
445
uic_get_irq(struct pic_ops *pic, int req)
sys/arch/powerpc/ibm4xx/pic_uic.c
447
struct uic * const uic = pic->pic_cookie;
sys/arch/powerpc/ibm4xx/pic_uic.c
466
uic_establish_irq(struct pic_ops *pic, int irq, int type, int ipl)
sys/arch/powerpc/marvell/pic_discovery.c
100
pic->pic_disable_irq = discovery_disable_irq;
sys/arch/powerpc/marvell/pic_discovery.c
101
pic->pic_get_irq = discovery_get_irq;
sys/arch/powerpc/marvell/pic_discovery.c
102
pic->pic_ack_irq = discovery_ack_irq;
sys/arch/powerpc/marvell/pic_discovery.c
103
pic->pic_establish_irq = dummy_pic_establish_intr;
sys/arch/powerpc/marvell/pic_discovery.c
104
pic->pic_finish_setup = NULL;
sys/arch/powerpc/marvell/pic_discovery.c
105
strcpy(pic->pic_name, "discovery");
sys/arch/powerpc/marvell/pic_discovery.c
106
pic_add(pic);
sys/arch/powerpc/marvell/pic_discovery.c
110
return pic;
sys/arch/powerpc/marvell/pic_discovery.c
114
discovery_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/marvell/pic_discovery.c
116
struct discovery_pic_ops *discovery = (struct discovery_pic_ops *)pic;
sys/arch/powerpc/marvell/pic_discovery.c
119
discovery_enable_intr(pic->pic_cookie, irq);
sys/arch/powerpc/marvell/pic_discovery.c
123
discovery_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/marvell/pic_discovery.c
125
struct discovery_pic_ops *discovery = (struct discovery_pic_ops *)pic;
sys/arch/powerpc/marvell/pic_discovery.c
128
discovery_disable_intr(pic->pic_cookie, irq);
sys/arch/powerpc/marvell/pic_discovery.c
132
discovery_get_irq(struct pic_ops *pic, int mode)
sys/arch/powerpc/marvell/pic_discovery.c
134
struct discovery_pic_ops *discovery = (struct discovery_pic_ops *)pic;
sys/arch/powerpc/marvell/pic_discovery.c
138
cause = discovery_mic_low(pic->pic_cookie) & discovery->enable_mask_low;
sys/arch/powerpc/marvell/pic_discovery.c
142
cause = discovery_mic_high(pic->pic_cookie);
sys/arch/powerpc/marvell/pic_discovery.c
154
discovery_ack_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/marvell/pic_discovery.c
165
struct pic_ops *pic;
sys/arch/powerpc/marvell/pic_discovery.c
169
pic = &discovery_gpp->pic;
sys/arch/powerpc/marvell/pic_discovery.c
170
pic->pic_numintrs = 32;
sys/arch/powerpc/marvell/pic_discovery.c
171
pic->pic_cookie = discovery;
sys/arch/powerpc/marvell/pic_discovery.c
172
pic->pic_enable_irq = discovery_gpp_enable_irq;
sys/arch/powerpc/marvell/pic_discovery.c
173
pic->pic_reenable_irq = discovery_gpp_enable_irq;
sys/arch/powerpc/marvell/pic_discovery.c
174
pic->pic_disable_irq = discovery_gpp_disable_irq;
sys/arch/powerpc/marvell/pic_discovery.c
175
pic->pic_get_irq = discovery_gpp_get_irq;
sys/arch/powerpc/marvell/pic_discovery.c
176
pic->pic_ack_irq = discovery_gpp_ack_irq;
sys/arch/powerpc/marvell/pic_discovery.c
177
pic->pic_establish_irq = dummy_pic_establish_intr;
sys/arch/powerpc/marvell/pic_discovery.c
178
pic->pic_finish_setup = NULL;
sys/arch/powerpc/marvell/pic_discovery.c
179
strcpy(pic->pic_name, "discovery_gpp");
sys/arch/powerpc/marvell/pic_discovery.c
180
pic_add(pic);
sys/arch/powerpc/marvell/pic_discovery.c
184
return pic;
sys/arch/powerpc/marvell/pic_discovery.c
188
discovery_gpp_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/marvell/pic_discovery.c
191
(struct discovery_gpp_pic_ops *)pic;
sys/arch/powerpc/marvell/pic_discovery.c
192
struct discovery_pic_ops *discovery = discovery_gpp->pic.pic_cookie;
sys/arch/powerpc/marvell/pic_discovery.c
194
discovery_gpp_enable_intr(discovery->pic.pic_cookie,
sys/arch/powerpc/marvell/pic_discovery.c
199
discovery_gpp_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/marvell/pic_discovery.c
202
(struct discovery_gpp_pic_ops *)pic;
sys/arch/powerpc/marvell/pic_discovery.c
203
struct discovery_pic_ops *discovery = discovery_gpp->pic.pic_cookie;
sys/arch/powerpc/marvell/pic_discovery.c
205
discovery_gpp_disable_intr(discovery->pic.pic_cookie,
sys/arch/powerpc/marvell/pic_discovery.c
210
discovery_gpp_get_irq(struct pic_ops *pic, int mode)
sys/arch/powerpc/marvell/pic_discovery.c
213
(struct discovery_gpp_pic_ops *)pic;
sys/arch/powerpc/marvell/pic_discovery.c
214
struct discovery_pic_ops *discovery = discovery_gpp->pic.pic_cookie;
sys/arch/powerpc/marvell/pic_discovery.c
218
cause = discovery_gpp_cause(discovery->pic.pic_cookie);
sys/arch/powerpc/marvell/pic_discovery.c
219
mask = discovery_gpp_mask(discovery->pic.pic_cookie);
sys/arch/powerpc/marvell/pic_discovery.c
232
discovery_gpp_ack_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/marvell/pic_discovery.c
235
(struct discovery_gpp_pic_ops *)pic;
sys/arch/powerpc/marvell/pic_discovery.c
236
struct discovery_pic_ops *discovery = discovery_gpp->pic.pic_cookie;
sys/arch/powerpc/marvell/pic_discovery.c
238
discovery_gpp_clear_cause(discovery->pic.pic_cookie,
sys/arch/powerpc/marvell/pic_discovery.c
60
struct pic_ops pic;
sys/arch/powerpc/marvell/pic_discovery.c
70
struct pic_ops pic;
sys/arch/powerpc/marvell/pic_discovery.c
91
struct pic_ops *pic;
sys/arch/powerpc/marvell/pic_discovery.c
95
pic = &discovery->pic;
sys/arch/powerpc/marvell/pic_discovery.c
96
pic->pic_numintrs = 64;
sys/arch/powerpc/marvell/pic_discovery.c
97
pic->pic_cookie = (void *)NULL; /* set later */
sys/arch/powerpc/marvell/pic_discovery.c
98
pic->pic_enable_irq = discovery_enable_irq;
sys/arch/powerpc/marvell/pic_discovery.c
99
pic->pic_reenable_irq = discovery_enable_irq;
sys/arch/powerpc/mpc5200/bestcomm.c
120
struct pic_ops *pic = &b->pic;
sys/arch/powerpc/mpc5200/bestcomm.c
144
pic->pic_cookie = b;
sys/arch/powerpc/mpc5200/bestcomm.c
145
pic->pic_numintrs = SDMA_NTASKS;
sys/arch/powerpc/mpc5200/bestcomm.c
146
pic->pic_enable_irq = bestcomm_enable_irq;
sys/arch/powerpc/mpc5200/bestcomm.c
147
pic->pic_reenable_irq = bestcomm_enable_irq;
sys/arch/powerpc/mpc5200/bestcomm.c
148
pic->pic_disable_irq = bestcomm_disable_irq;
sys/arch/powerpc/mpc5200/bestcomm.c
149
pic->pic_get_irq = bestcomm_get_irq;
sys/arch/powerpc/mpc5200/bestcomm.c
150
pic->pic_ack_irq = bestcomm_ack_irq;
sys/arch/powerpc/mpc5200/bestcomm.c
151
pic->pic_establish_irq = bestcomm_establish_irq;
sys/arch/powerpc/mpc5200/bestcomm.c
152
pic->pic_finish_setup = NULL;
sys/arch/powerpc/mpc5200/bestcomm.c
153
strlcpy(pic->pic_name, device_xname(self), sizeof(pic->pic_name));
sys/arch/powerpc/mpc5200/bestcomm.c
155
pic_add(pic);
sys/arch/powerpc/mpc5200/bestcomm.c
161
IPL_NET, pic_handle_intr, pic);
sys/arch/powerpc/mpc5200/bestcomm.c
371
return bestcomm_sc->sc_pic.pic.pic_intrbase + task;
sys/arch/powerpc/mpc5200/bestcomm.c
439
bestcomm_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/mpc5200/bestcomm.c
441
struct bestcomm_ops *b = pic->pic_cookie;
sys/arch/powerpc/mpc5200/bestcomm.c
448
bestcomm_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/mpc5200/bestcomm.c
450
struct bestcomm_ops *b = pic->pic_cookie;
sys/arch/powerpc/mpc5200/bestcomm.c
457
bestcomm_get_irq(struct pic_ops *pic, int mode)
sys/arch/powerpc/mpc5200/bestcomm.c
459
struct bestcomm_ops *b = pic->pic_cookie;
sys/arch/powerpc/mpc5200/bestcomm.c
471
bestcomm_ack_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/mpc5200/bestcomm.c
473
struct bestcomm_ops *b = pic->pic_cookie;
sys/arch/powerpc/mpc5200/bestcomm.c
480
bestcomm_establish_irq(struct pic_ops *pic, int irq, int type, int maxlevel)
sys/arch/powerpc/mpc5200/bestcommvar.h
41
struct pic_ops pic;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
148
struct pic_ops *pic = &m->pic;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
160
pic->pic_cookie = m;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
161
pic->pic_numintrs = MPC5200_NIRQ;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
162
pic->pic_enable_irq = mpc5200_enable_irq;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
163
pic->pic_reenable_irq = mpc5200_enable_irq;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
164
pic->pic_disable_irq = mpc5200_disable_irq;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
165
pic->pic_get_irq = mpc5200_get_irq;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
166
pic->pic_ack_irq = mpc5200_ack_irq;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
167
pic->pic_establish_irq = mpc5200_establish_irq;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
168
pic->pic_finish_setup = NULL;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
169
strlcpy(pic->pic_name, device_xname(self), sizeof(pic->pic_name));
sys/arch/powerpc/mpc5200/pic_mpc5200.c
175
pic_add(pic);
sys/arch/powerpc/mpc5200/pic_mpc5200.c
195
mpc5200_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/mpc5200/pic_mpc5200.c
197
struct mpc5200_ops *m = pic->pic_cookie;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
222
mpc5200_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/mpc5200/pic_mpc5200.c
224
struct mpc5200_ops *m = pic->pic_cookie;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
255
mpc5200_get_irq(struct pic_ops *pic, int mode)
sys/arch/powerpc/mpc5200/pic_mpc5200.c
257
struct mpc5200_ops *m = pic->pic_cookie;
sys/arch/powerpc/mpc5200/pic_mpc5200.c
285
mpc5200_ack_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/mpc5200/pic_mpc5200.c
293
mpc5200_establish_irq(struct pic_ops *pic, int irq, int type, int maxlevel)
sys/arch/powerpc/mpc5200/pic_mpc5200var.h
41
struct pic_ops pic;
sys/arch/powerpc/pci/pci_machdep_ofw.c
247
int dev, pin, pic, func;
sys/arch/powerpc/pci/pci_machdep_ofw.c
250
pic = genofw_find_picnode(map[i*reclen + acells + icells]);
sys/arch/powerpc/pci/pci_machdep_ofw.c
251
KASSERT(pic != -1);
sys/arch/powerpc/pci/pci_machdep_ofw.c
257
intr_num = prop_number_create_integer(map[i*reclen + acells + icells + 1] + picnodes[pic].offset);
sys/arch/powerpc/pic/i8259_common.c
101
i8259_get_irq(struct pic_ops *pic, int mode)
sys/arch/powerpc/pic/i8259_common.c
65
i8259_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/pic/i8259_common.c
67
struct i8259_ops *i8259 = (struct i8259_ops *)pic;
sys/arch/powerpc/pic/i8259_common.c
79
i8259_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/pic/i8259_common.c
81
struct i8259_ops *i8259 = (struct i8259_ops *)pic;
sys/arch/powerpc/pic/i8259_common.c
90
i8259_ack_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/pic/intr.c
107
pic_add(struct pic_ops *pic)
sys/arch/powerpc/pic/intr.c
113
pics[num_pics] = pic;
sys/arch/powerpc/pic/intr.c
114
pic->pic_intrbase = max_base;
sys/arch/powerpc/pic/intr.c
115
max_base += pic->pic_numintrs;
sys/arch/powerpc/pic/intr.c
118
return pic->pic_intrbase;
sys/arch/powerpc/pic/intr.c
125
struct pic_ops * const pic = pics[i];
sys/arch/powerpc/pic/intr.c
126
if (pic->pic_finish_setup != NULL)
sys/arch/powerpc/pic/intr.c
127
pic->pic_finish_setup(pic);
sys/arch/powerpc/pic/intr.c
135
struct pic_ops * const pic = pics[base];
sys/arch/powerpc/pic/intr.c
136
if (pic->pic_intrbase <= hwirq
sys/arch/powerpc/pic/intr.c
137
&& hwirq < pic->pic_intrbase + pic->pic_numintrs) {
sys/arch/powerpc/pic/intr.c
138
return pic;
sys/arch/powerpc/pic/intr.c
166
struct pic_ops *pic;
sys/arch/powerpc/pic/intr.c
178
pic = find_pic_by_hwirq(hwirq);
sys/arch/powerpc/pic/intr.c
179
if (pic == NULL) {
sys/arch/powerpc/pic/intr.c
223
pic->pic_name, is->is_hwirq);
sys/arch/powerpc/pic/intr.c
227
pic->pic_name, is->is_evname);
sys/arch/powerpc/pic/intr.c
260
if (pic->pic_establish_irq != NULL)
sys/arch/powerpc/pic/intr.c
261
pic->pic_establish_irq(pic, hwirq - pic->pic_intrbase,
sys/arch/powerpc/pic/intr.c
279
dummy_pic_establish_intr(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/powerpc/pic/intr.c
340
struct pic_ops *pic;
sys/arch/powerpc/pic/intr.c
345
if ((pic = find_pic_by_hwirq(hwirq)) == NULL)
sys/arch/powerpc/pic/intr.c
360
is->is_pic = pic;
sys/arch/powerpc/pic/intr.c
434
struct pic_ops * const pic = pics[base];
sys/arch/powerpc/pic/intr.c
435
for (u_int i = 0; i < pic->pic_numintrs; i++) {
sys/arch/powerpc/pic/intr.c
436
pic->pic_disable_irq(pic, i);
sys/arch/powerpc/pic/intr.c
459
struct pic_ops * const pic = find_pic_by_hwirq(hwirq);
sys/arch/powerpc/pic/intr.c
460
if (pic == NULL)
sys/arch/powerpc/pic/intr.c
463
(*pic->pic_enable_irq)(pic, hwirq - pic->pic_intrbase, type);
sys/arch/powerpc/pic/intr.c
540
struct pic_ops * const pic = is->is_pic;
sys/arch/powerpc/pic/intr.c
552
pic->pic_reenable_irq(pic, is->is_hwirq - pic->pic_intrbase,
sys/arch/powerpc/pic/intr.c
583
struct pic_ops *pic = cookie;
sys/arch/powerpc/pic/intr.c
592
picirq = pic->pic_get_irq(pic, PIC_GET_IRQ);
sys/arch/powerpc/pic/intr.c
599
const int virq = virq_map[picirq + pic->pic_intrbase];
sys/arch/powerpc/pic/intr.c
602
KASSERT(picirq < pic->pic_numintrs);
sys/arch/powerpc/pic/intr.c
608
pic->pic_disable_irq(pic, picirq);
sys/arch/powerpc/pic/intr.c
627
pic->pic_ack_irq(pic, picirq);
sys/arch/powerpc/pic/intr.c
628
} while ((picirq = pic->pic_get_irq(pic, PIC_GET_RECHECK)) != 255);
sys/arch/powerpc/pic/intr.c
725
genppc_isa_intr_alloc(isa_chipset_tag_t ic, struct pic_ops *pic,
sys/arch/powerpc/pic/intr.c
733
if (pic == NULL)
sys/arch/powerpc/pic/intr.c
736
for (irq = 0; (mask != 0 && irq < pic->pic_numintrs);
sys/arch/powerpc/pic/intr.c
740
vi = virq_map[irq + pic->pic_intrbase];
sys/arch/powerpc/pic/openpic_common.c
49
opic_finish_setup(struct pic_ops *pic)
sys/arch/powerpc/pic/openpic_common.c
60
for (i = 0; i < pic->pic_numintrs; i++) {
sys/arch/powerpc/pic/openpic_common.c
78
opic_get_irq(struct pic_ops *pic, int mode)
sys/arch/powerpc/pic/openpic_common.c
85
opic_ack_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/pic/pic_distopenpic.c
100
strcpy(pic->pic_name, "openpic");
sys/arch/powerpc/pic/pic_distopenpic.c
101
pic_add(pic);
sys/arch/powerpc/pic/pic_distopenpic.c
125
for (irq = 0; irq < pic->pic_numintrs; irq++) {
sys/arch/powerpc/pic/pic_distopenpic.c
133
return pic;
sys/arch/powerpc/pic/pic_distopenpic.c
171
distopic_establish_irq(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/powerpc/pic/pic_distopenpic.c
173
struct openpic_ops *opic = (struct openpic_ops *)pic;
sys/arch/powerpc/pic/pic_distopenpic.c
202
distopic_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/pic/pic_distopenpic.c
204
struct openpic_ops *opic = (struct openpic_ops *)pic;
sys/arch/powerpc/pic/pic_distopenpic.c
216
distopic_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/pic/pic_distopenpic.c
218
struct openpic_ops *opic = (struct openpic_ops *)pic;
sys/arch/powerpc/pic/pic_distopenpic.c
230
distopic_finish_setup(struct pic_ops *pic)
sys/arch/powerpc/pic/pic_distopenpic.c
232
struct openpic_ops *opic = (struct openpic_ops *)pic;
sys/arch/powerpc/pic/pic_distopenpic.c
63
struct pic_ops *pic;
sys/arch/powerpc/pic/pic_distopenpic.c
69
pic = &opicops->pic;
sys/arch/powerpc/pic/pic_distopenpic.c
90
pic->pic_numintrs = irq;
sys/arch/powerpc/pic/pic_distopenpic.c
91
pic->pic_cookie = addr;
sys/arch/powerpc/pic/pic_distopenpic.c
92
pic->pic_enable_irq = distopic_enable_irq;
sys/arch/powerpc/pic/pic_distopenpic.c
93
pic->pic_reenable_irq = distopic_enable_irq;
sys/arch/powerpc/pic/pic_distopenpic.c
94
pic->pic_disable_irq = distopic_disable_irq;
sys/arch/powerpc/pic/pic_distopenpic.c
95
pic->pic_get_irq = opic_get_irq;
sys/arch/powerpc/pic/pic_distopenpic.c
96
pic->pic_ack_irq = opic_ack_irq;
sys/arch/powerpc/pic/pic_distopenpic.c
97
pic->pic_establish_irq = distopic_establish_irq;
sys/arch/powerpc/pic/pic_distopenpic.c
98
pic->pic_finish_setup = distopic_finish_setup;
sys/arch/powerpc/pic/pic_i8259.c
55
struct pic_ops *pic;
sys/arch/powerpc/pic/pic_i8259.c
58
pic = &i8259->pic;
sys/arch/powerpc/pic/pic_i8259.c
60
pic->pic_numintrs = 16;
sys/arch/powerpc/pic/pic_i8259.c
61
pic->pic_cookie = (void *)NULL;
sys/arch/powerpc/pic/pic_i8259.c
62
pic->pic_enable_irq = i8259_enable_irq;
sys/arch/powerpc/pic/pic_i8259.c
63
pic->pic_reenable_irq = i8259_enable_irq;
sys/arch/powerpc/pic/pic_i8259.c
64
pic->pic_disable_irq = i8259_disable_irq;
sys/arch/powerpc/pic/pic_i8259.c
65
pic->pic_get_irq = i8259_get_irq;
sys/arch/powerpc/pic/pic_i8259.c
66
pic->pic_ack_irq = i8259_ack_irq;
sys/arch/powerpc/pic/pic_i8259.c
67
pic->pic_establish_irq = dummy_pic_establish_intr;
sys/arch/powerpc/pic/pic_i8259.c
68
pic->pic_finish_setup = NULL;
sys/arch/powerpc/pic/pic_i8259.c
69
strcpy(pic->pic_name, "i8259");
sys/arch/powerpc/pic/pic_i8259.c
70
pic_add(pic);
sys/arch/powerpc/pic/pic_i8259.c
77
return pic;
sys/arch/powerpc/pic/pic_mpcsoc.c
158
mpcpic_establish_irq(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/powerpc/pic/pic_mpcsoc.c
185
mpcpic_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/pic/pic_mpcsoc.c
195
mpcpic_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/pic/pic_mpcsoc.c
205
mpcpic_finish_setup(struct pic_ops *pic)
sys/arch/powerpc/pic/pic_mpcsoc.c
210
for (i = 0; i < pic->pic_numintrs; i++) {
sys/arch/powerpc/pic/pic_mpcsoc.c
95
self = &ops->pic;
sys/arch/powerpc/pic/pic_openpic.c
116
for (irq = 0; irq < pic->pic_numintrs; irq++) {
sys/arch/powerpc/pic/pic_openpic.c
137
return pic;
sys/arch/powerpc/pic/pic_openpic.c
141
opic_establish_irq(struct pic_ops *pic, int irq, int type, int pri)
sys/arch/powerpc/pic/pic_openpic.c
170
opic_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/powerpc/pic/pic_openpic.c
182
opic_disable_irq(struct pic_ops *pic, int irq)
sys/arch/powerpc/pic/pic_openpic.c
55
struct pic_ops *pic;
sys/arch/powerpc/pic/pic_openpic.c
61
pic = &opicops->pic;
sys/arch/powerpc/pic/pic_openpic.c
71
pic->pic_numintrs = IPI_VECTOR + 1;
sys/arch/powerpc/pic/pic_openpic.c
72
pic->pic_cookie = addr;
sys/arch/powerpc/pic/pic_openpic.c
73
pic->pic_enable_irq = opic_enable_irq;
sys/arch/powerpc/pic/pic_openpic.c
74
pic->pic_reenable_irq = opic_enable_irq;
sys/arch/powerpc/pic/pic_openpic.c
75
pic->pic_disable_irq = opic_disable_irq;
sys/arch/powerpc/pic/pic_openpic.c
76
pic->pic_get_irq = opic_get_irq;
sys/arch/powerpc/pic/pic_openpic.c
77
pic->pic_ack_irq = opic_ack_irq;
sys/arch/powerpc/pic/pic_openpic.c
78
pic->pic_establish_irq = opic_establish_irq;
sys/arch/powerpc/pic/pic_openpic.c
79
pic->pic_finish_setup = opic_finish_setup;
sys/arch/powerpc/pic/pic_openpic.c
84
strcpy(pic->pic_name, "openpic");
sys/arch/powerpc/pic/pic_openpic.c
85
pic_add(pic);
sys/arch/powerpc/pic/pic_openpic.c
97
for (irq = 0; irq < (pic->pic_numintrs - 1); irq++) {
sys/arch/powerpc/pic/pic_prepivr.c
103
prepivr_establish_irq(struct pic_ops *pic, int irq, int type, int maxlevel)
sys/arch/powerpc/pic/pic_prepivr.c
123
motivr_get_irq(struct pic_ops *pic, int mode)
sys/arch/powerpc/pic/pic_prepivr.c
127
irq = i8259_get_irq(pic, mode);
sys/arch/powerpc/pic/pic_prepivr.c
129
(void)inb(pic->pic_cookie);
sys/arch/powerpc/pic/pic_prepivr.c
136
prepivr_get_irq(struct pic_ops *pic, int mode)
sys/arch/powerpc/pic/pic_prepivr.c
140
irq = inb(pic->pic_cookie);
sys/arch/powerpc/pic/pic_prepivr.c
69
struct pic_ops *pic;
sys/arch/powerpc/pic/pic_prepivr.c
73
pic = &prepivr->pic;
sys/arch/powerpc/pic/pic_prepivr.c
76
pic->pic_numintrs = 16;
sys/arch/powerpc/pic/pic_prepivr.c
77
pic->pic_cookie = (void *)pivr;
sys/arch/powerpc/pic/pic_prepivr.c
78
pic->pic_enable_irq = i8259_enable_irq;
sys/arch/powerpc/pic/pic_prepivr.c
79
pic->pic_reenable_irq = i8259_enable_irq;
sys/arch/powerpc/pic/pic_prepivr.c
80
pic->pic_disable_irq = i8259_disable_irq;
sys/arch/powerpc/pic/pic_prepivr.c
82
pic->pic_get_irq = motivr_get_irq;
sys/arch/powerpc/pic/pic_prepivr.c
84
pic->pic_get_irq = prepivr_get_irq;
sys/arch/powerpc/pic/pic_prepivr.c
85
pic->pic_ack_irq = i8259_ack_irq;
sys/arch/powerpc/pic/pic_prepivr.c
86
pic->pic_establish_irq = prepivr_establish_irq;
sys/arch/powerpc/pic/pic_prepivr.c
87
pic->pic_finish_setup = NULL;
sys/arch/powerpc/pic/pic_prepivr.c
88
strcpy(pic->pic_name, "prepivr");
sys/arch/powerpc/pic/pic_prepivr.c
89
pic_add(pic);
sys/arch/powerpc/pic/pic_prepivr.c
99
return pic;
sys/arch/powerpc/pic/picvar.h
131
void opic_finish_setup(struct pic_ops *pic);
sys/arch/powerpc/pic/picvar.h
133
int opic_get_irq(struct pic_ops *pic, int mode);
sys/arch/powerpc/pic/picvar.h
134
void opic_ack_irq(struct pic_ops *pic, int irq);
sys/arch/powerpc/pic/picvar.h
76
struct pic_ops pic;
sys/arch/powerpc/pic/picvar.h
84
struct pic_ops pic;
sys/arch/rs6000/rs6000/pic_iocc.c
102
iocc_enable_irq(struct pic_ops *pic, int irq, int type)
sys/arch/rs6000/rs6000/pic_iocc.c
113
iocc_disable_irq(struct pic_ops *pic, int irq)
sys/arch/rs6000/rs6000/pic_iocc.c
124
iocc_ack_irq(struct pic_ops *pic, int irq)
sys/arch/rs6000/rs6000/pic_iocc.c
59
struct pic_ops *pic;
sys/arch/rs6000/rs6000/pic_iocc.c
62
pic = kmem_alloc(sizeof(struct pic_ops), KM_SLEEP);
sys/arch/rs6000/rs6000/pic_iocc.c
63
pic->pic_numintrs = 16;
sys/arch/rs6000/rs6000/pic_iocc.c
64
pic->pic_cookie = (void *)NULL;
sys/arch/rs6000/rs6000/pic_iocc.c
65
pic->pic_enable_irq = iocc_enable_irq;
sys/arch/rs6000/rs6000/pic_iocc.c
66
pic->pic_reenable_irq = iocc_enable_irq;
sys/arch/rs6000/rs6000/pic_iocc.c
67
pic->pic_disable_irq = iocc_disable_irq;
sys/arch/rs6000/rs6000/pic_iocc.c
68
pic->pic_get_irq = iocc_get_irq;
sys/arch/rs6000/rs6000/pic_iocc.c
69
pic->pic_ack_irq = iocc_ack_irq;
sys/arch/rs6000/rs6000/pic_iocc.c
70
pic->pic_establish_irq = dummy_pic_establish_intr;
sys/arch/rs6000/rs6000/pic_iocc.c
71
pic->pic_finish_setup = NULL;
sys/arch/rs6000/rs6000/pic_iocc.c
72
strcpy(pic->pic_name, "iocc");
sys/arch/rs6000/rs6000/pic_iocc.c
73
pic_add(pic);
sys/arch/rs6000/rs6000/pic_iocc.c
76
for (i=0; i < pic->pic_numintrs; i++)
sys/arch/rs6000/rs6000/pic_iocc.c
78
return(pic);
sys/arch/rs6000/rs6000/pic_iocc.c
85
iocc_get_irq(struct pic_ops *pic, int mode)
sys/arch/sgimips/dev/pic.c
64
CFATTACH_DECL_NEW(pic, 0,
sys/arch/virt68k/virt68k/intr.c
212
const int pic = IRQ_TO_PIC(irq);
sys/arch/virt68k/virt68k/intr.c
213
if (pics[pic] == NULL) {
sys/arch/virt68k/virt68k/intr.c
225
gfpic_enable(pics[pic], IRQ_TO_PIRQ(irq));
sys/arch/virt68k/virt68k/intr.c
239
const int pic = IRQ_TO_PIC(ih->ih_irq);
sys/arch/virt68k/virt68k/intr.c
242
KASSERT(pics[pic] != NULL);
sys/arch/virt68k/virt68k/intr.c
247
gfpic_disable(pics[pic], IRQ_TO_PIRQ(ih->ih_irq));
sys/arch/virt68k/virt68k/intr.c
275
const int pic = ipl_to_pic(ipl);
sys/arch/virt68k/virt68k/intr.c
278
if (__predict_false(pic < 0)) {
sys/arch/virt68k/virt68k/intr.c
282
if (pics[pic] == NULL) {
sys/arch/virt68k/virt68k/intr.c
287
const int base = pic * NIRQ_PER_PIC;
sys/arch/virt68k/virt68k/intr.c
291
while ((pirq = gfpic_pending(pics[pic])) >= 0) {
sys/arch/x86/acpi/acpi_machdep.c
247
struct pic *pic;
sys/arch/x86/acpi/acpi_machdep.c
297
pic = NULL;
sys/arch/x86/acpi/acpi_machdep.c
312
pic = &ioapic->sc_pic;
sys/arch/x86/acpi/acpi_machdep.c
317
if (pic == NULL) {
sys/arch/x86/acpi/acpi_machdep.c
324
pic = &ioapic->sc_pic;
sys/arch/x86/acpi/acpi_machdep.c
326
if (pic->pic_type == PIC_IOAPIC) {
sys/arch/x86/acpi/acpi_machdep.c
327
pin = irq - pic->pic_vecbase;
sys/arch/x86/acpi/acpi_machdep.c
349
if (pic == NULL)
sys/arch/x86/acpi/acpi_machdep.c
352
pic = &i8259_pic;
sys/arch/x86/acpi/acpi_machdep.c
356
ih = intr_establish_xname(irq, pic, pin, type, ipl,
sys/arch/x86/include/i82093var.h
50
struct pic sc_pic;
sys/arch/x86/include/intr.h
134
struct pic *ih_pic;
sys/arch/x86/include/intr.h
216
void *intr_establish_xname(int, struct pic *, int, int, int, int (*)(void *),
sys/arch/x86/include/intr.h
218
void *intr_establish(int, struct pic *, int, int, int, int (*)(void *), void *, bool);
sys/arch/x86/include/intr.h
226
struct pic *intr_findpic(int);
sys/arch/x86/include/intr.h
229
const char *intr_create_intrid(int, struct pic *, int, char *, size_t);
sys/arch/x86/include/intr.h
93
struct pic *is_pic; /* originating PIC */
sys/arch/x86/include/mpconfig.h
61
struct pic *ioapic; /* NULL for local apic */
sys/arch/x86/include/pic.h
17
void (*pic_hwmask)(struct pic *, int);
sys/arch/x86/include/pic.h
18
void (*pic_hwunmask)(struct pic *, int);
sys/arch/x86/include/pic.h
19
void (*pic_addroute)(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/include/pic.h
20
void (*pic_delroute)(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/include/pic.h
21
bool (*pic_trymask)(struct pic *, int);
sys/arch/x86/include/pic.h
43
extern struct pic i8259_pic;
sys/arch/x86/include/pic.h
44
extern struct pic local_pic;
sys/arch/x86/include/pic.h
45
extern struct pic softintr_pic;
sys/arch/x86/include/pic.h
46
extern struct pic xen_pic;
sys/arch/x86/isa/isa_machdep.c
214
struct pic *pic;
sys/arch/x86/isa/isa_machdep.c
222
pic = &i8259_pic;
sys/arch/x86/isa/isa_machdep.c
237
pic = &ioapic->sc_pic;
sys/arch/x86/isa/isa_machdep.c
243
return intr_establish_xname(irq, pic, pin, type, level, ih_fun, ih_arg,
sys/arch/x86/pci/msipic.c
112
static struct pic *msipic_find_msi_pic_locked(int);
sys/arch/x86/pci/msipic.c
113
static struct pic *msipic_construct_common_msi_pic(const struct pci_attach_args *,
sys/arch/x86/pci/msipic.c
114
const struct pic *);
sys/arch/x86/pci/msipic.c
115
static void msipic_destruct_common_msi_pic(struct pic *);
sys/arch/x86/pci/msipic.c
117
static void msi_set_msictl_enablebit(struct pic *, int, int);
sys/arch/x86/pci/msipic.c
118
static void msi_hwmask(struct pic *, int);
sys/arch/x86/pci/msipic.c
119
static void msi_hwunmask(struct pic *, int);
sys/arch/x86/pci/msipic.c
120
static void msi_addroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/pci/msipic.c
121
static void msi_delroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/pci/msipic.c
123
static void msix_set_vecctl_mask(struct pic *, int, int);
sys/arch/x86/pci/msipic.c
124
static void msix_hwmask(struct pic *, int);
sys/arch/x86/pci/msipic.c
125
static void msix_hwunmask(struct pic *, int);
sys/arch/x86/pci/msipic.c
126
static void msix_addroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/pci/msipic.c
127
static void msix_delroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/pci/msipic.c
196
static struct pic *
sys/arch/x86/pci/msipic.c
214
struct pic *
sys/arch/x86/pci/msipic.c
217
struct pic *msipic;
sys/arch/x86/pci/msipic.c
229
static struct pic *
sys/arch/x86/pci/msipic.c
231
const struct pic *pic_tmpl)
sys/arch/x86/pci/msipic.c
233
struct pic *pic;
sys/arch/x86/pci/msipic.c
237
pic = kmem_alloc(sizeof(*pic), KM_SLEEP);
sys/arch/x86/pci/msipic.c
245
kmem_free(pic, sizeof(*pic));
sys/arch/x86/pci/msipic.c
250
memcpy(pic, pic_tmpl, sizeof(*pic));
sys/arch/x86/pci/msipic.c
251
pic->pic_edge_stubs
sys/arch/x86/pci/msipic.c
253
pic->pic_msipic = msipic;
sys/arch/x86/pci/msipic.c
254
msipic->mp_pic = pic;
sys/arch/x86/pci/msipic.c
268
return pic;
sys/arch/x86/pci/msipic.c
272
msipic_destruct_common_msi_pic(struct pic *msi_pic)
sys/arch/x86/pci/msipic.c
303
msipic_is_msi_pic(struct pic *pic)
sys/arch/x86/pci/msipic.c
306
return (pic->pic_msipic != NULL);
sys/arch/x86/pci/msipic.c
313
msipic_get_devid(struct pic *pic)
sys/arch/x86/pci/msipic.c
316
KASSERT(msipic_is_msi_pic(pic));
sys/arch/x86/pci/msipic.c
318
return pic->pic_msipic->mp_devid;
sys/arch/x86/pci/msipic.c
325
msipic_get_pci_info(struct pic *pic)
sys/arch/x86/pci/msipic.c
327
KASSERT(msipic_is_msi_pic(pic));
sys/arch/x86/pci/msipic.c
329
return &pic->pic_msipic->mp_i;
sys/arch/x86/pci/msipic.c
335
msi_set_msictl_enablebit(struct pic *pic, int msi_vec, int flag)
sys/arch/x86/pci/msipic.c
344
pa = &pic->pic_msipic->mp_pa;
sys/arch/x86/pci/msipic.c
367
msi_hwmask(struct pic *pic, int msi_vec)
sys/arch/x86/pci/msipic.c
370
msi_set_msictl_enablebit(pic, msi_vec, MSI_MSICTL_DISABLE);
sys/arch/x86/pci/msipic.c
378
msi_hwunmask(struct pic *pic, int msi_vec)
sys/arch/x86/pci/msipic.c
381
msi_set_msictl_enablebit(pic, msi_vec, MSI_MSICTL_ENABLE);
sys/arch/x86/pci/msipic.c
385
msi_addroute(struct pic *pic, struct cpu_info *ci,
sys/arch/x86/pci/msipic.c
398
pa = &pic->pic_msipic->mp_pa;
sys/arch/x86/pci/msipic.c
450
msi_delroute(struct pic *pic, struct cpu_info *ci,
sys/arch/x86/pci/msipic.c
454
msi_hwmask(pic, msi_vec);
sys/arch/x86/pci/msipic.c
461
static const struct pic msi_pic_tmpl = {
sys/arch/x86/pci/msipic.c
478
struct pic *
sys/arch/x86/pci/msipic.c
481
struct pic *msi_pic;
sys/arch/x86/pci/msipic.c
504
msipic_destruct_msi_pic(struct pic *msi_pic)
sys/arch/x86/pci/msipic.c
513
msix_set_vecctl_mask(struct pic *pic, int msix_vec, int flag)
sys/arch/x86/pci/msipic.c
522
__func__, msipic_get_devid(pic), msix_vec));
sys/arch/x86/pci/msipic.c
528
bstag = pic->pic_msipic->mp_bstag;
sys/arch/x86/pci/msipic.c
529
bshandle = pic->pic_msipic->mp_bshandle;
sys/arch/x86/pci/msipic.c
543
msix_hwmask(struct pic *pic, int msix_vec)
sys/arch/x86/pci/msipic.c
546
msix_set_vecctl_mask(pic, msix_vec, MSIX_VECCTL_HWMASK);
sys/arch/x86/pci/msipic.c
554
msix_hwunmask(struct pic *pic, int msix_vec)
sys/arch/x86/pci/msipic.c
557
msix_set_vecctl_mask(pic, msix_vec, MSIX_VECCTL_HWUNMASK);
sys/arch/x86/pci/msipic.c
561
msix_addroute(struct pic *pic, struct cpu_info *ci,
sys/arch/x86/pci/msipic.c
578
__func__, msipic_get_devid(pic), msix_vec));
sys/arch/x86/pci/msipic.c
582
pa = &pic->pic_msipic->mp_pa;
sys/arch/x86/pci/msipic.c
594
bstag = pic->pic_msipic->mp_bstag;
sys/arch/x86/pci/msipic.c
595
bshandle = pic->pic_msipic->mp_bshandle;
sys/arch/x86/pci/msipic.c
638
msix_delroute(struct pic *pic, struct cpu_info *ci,
sys/arch/x86/pci/msipic.c
642
msix_hwmask(pic, msix_vec);
sys/arch/x86/pci/msipic.c
649
static const struct pic msix_pic_tmpl = {
sys/arch/x86/pci/msipic.c
663
struct pic *
sys/arch/x86/pci/msipic.c
666
struct pic *msix_pic;
sys/arch/x86/pci/msipic.c
787
msipic_destruct_msix_pic(struct pic *msix_pic)
sys/arch/x86/pci/msipic.c
805
msipic_set_msi_vectors(struct pic *msi_pic, pci_intr_handle_t *pihs,
sys/arch/x86/pci/msipic.c
83
struct pic *mp_pic;
sys/arch/x86/pci/msipic.h
34
struct pic *msipic_construct_msi_pic(const struct pci_attach_args *);
sys/arch/x86/pci/msipic.h
35
void msipic_destruct_msi_pic(struct pic *);
sys/arch/x86/pci/msipic.h
36
struct pic *msipic_construct_msix_pic(const struct pci_attach_args *);
sys/arch/x86/pci/msipic.h
37
void msipic_destruct_msix_pic(struct pic *);
sys/arch/x86/pci/msipic.h
38
struct pic *msipic_find_msi_pic(int);
sys/arch/x86/pci/msipic.h
39
int msipic_set_msi_vectors(struct pic *, pci_intr_handle_t *, int);
sys/arch/x86/pci/msipic.h
41
bool msipic_is_msi_pic(struct pic *);
sys/arch/x86/pci/msipic.h
42
int msipic_get_devid(struct pic *);
sys/arch/x86/pci/msipic.h
51
const struct msipic_pci_info *msipic_get_pci_info(struct pic *);
sys/arch/x86/pci/pci_intr_machdep.c
282
pci_intr_find_intx_irq(pci_intr_handle_t ih, int *irq, struct pic **pic,
sys/arch/x86/pci/pci_intr_machdep.c
287
KASSERT(pic != NULL);
sys/arch/x86/pci/pci_intr_machdep.c
290
*pic = &i8259_pic;
sys/arch/x86/pci/pci_intr_machdep.c
300
*pic = &ioapic->sc_pic;
sys/arch/x86/pci/pci_intr_machdep.c
316
struct pic *pic;
sys/arch/x86/pci/pci_intr_machdep.c
338
if (pci_intr_find_intx_irq(ih, &irq, &pic, &pin)) {
sys/arch/x86/pci/pci_intr_machdep.c
346
return intr_establish_xname(irq, pic, pin, IST_LEVEL, level, func, arg,
sys/arch/x86/pci/pci_intr_machdep.c
405
struct pic *pic;
sys/arch/x86/pci/pci_intr_machdep.c
409
pic = &i8259_pic;
sys/arch/x86/pci/pci_intr_machdep.c
412
if (pci_intr_find_intx_irq(ih, &irq, &pic, &pin)) {
sys/arch/x86/pci/pci_intr_machdep.c
418
return intr_create_intrid(irq, pic, pin, buf, len);
sys/arch/x86/pci/pci_msi_machdep.c
132
pci_msi_free_vectors(struct pic *msi_pic, pci_intr_handle_t *pihs, int count)
sys/arch/x86/pci/pci_msi_machdep.c
156
struct pic *msi_pic;
sys/arch/x86/pci/pci_msi_machdep.c
226
int level, int (*func)(void *), void *arg, struct pic *pic,
sys/arch/x86/pci/pci_msi_machdep.c
238
return intr_establish_xname(irq, pic, pin, IST_EDGE, level, func, arg,
sys/arch/x86/pci/pci_msi_machdep.c
254
struct pic *msix_pic;
sys/arch/x86/pci/pci_msi_machdep.c
339
struct pic *pic;
sys/arch/x86/pci/pci_msi_machdep.c
341
pic = msipic_find_msi_pic(MSI_INT_DEV(pihs[0]));
sys/arch/x86/pci/pci_msi_machdep.c
342
if (pic == NULL)
sys/arch/x86/pci/pci_msi_machdep.c
346
xen_pci_msi_release(pic, count);
sys/arch/x86/pci/pci_msi_machdep.c
348
pci_msi_free_vectors(pic, pihs, count);
sys/arch/x86/pci/pci_msi_machdep.c
349
msipic_destruct_msi_pic(pic);
sys/arch/x86/pci/pci_msi_machdep.c
381
struct pic *pic;
sys/arch/x86/pci/pci_msi_machdep.c
383
pic = msipic_find_msi_pic(MSI_INT_DEV(pihs[0]));
sys/arch/x86/pci/pci_msi_machdep.c
384
if (pic == NULL)
sys/arch/x86/pci/pci_msi_machdep.c
388
xen_pci_msi_release(pic, count);
sys/arch/x86/pci/pci_msi_machdep.c
390
pci_msi_free_vectors(pic, pihs, count);
sys/arch/x86/pci/pci_msi_machdep.c
391
msipic_destruct_msix_pic(pic);
sys/arch/x86/pci/pci_msi_machdep.c
443
struct pic *pic;
sys/arch/x86/pci/pci_msi_machdep.c
445
pic = msipic_find_msi_pic(MSI_INT_DEV(ih));
sys/arch/x86/pci/pci_msi_machdep.c
446
if (pic == NULL) {
sys/arch/x86/pci/pci_msi_machdep.c
451
return pci_msi_common_establish(pc, ih, level, func, arg, pic, xname);
sys/arch/x86/pci/pci_msi_machdep.c
488
struct pic *pic;
sys/arch/x86/pci/pci_msi_machdep.c
490
pic = msipic_find_msi_pic(MSI_INT_DEV(ih));
sys/arch/x86/pci/pci_msi_machdep.c
491
if (pic == NULL) {
sys/arch/x86/pci/pci_msi_machdep.c
496
return pci_msi_common_establish(pc, ih, level, func, arg, pic, xname);
sys/arch/x86/pci/pci_msi_machdep.c
71
pci_msi_calculate_handle(struct pic *msi_pic, int vector)
sys/arch/x86/pci/pci_msi_machdep.c
93
pci_msi_alloc_vectors(struct pic *msi_pic, uint *table_indexes, int *count)
sys/arch/x86/x86/i8259.c
100
static void i8259_hwunmask(struct pic *, int);
sys/arch/x86/x86/i8259.c
101
static void i8259_setup(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/x86/i8259.c
109
struct pic i8259_pic = {
sys/arch/x86/x86/i8259.c
193
i8259_hwmask(struct pic *pic, int pin)
sys/arch/x86/x86/i8259.c
213
i8259_hwunmask(struct pic *pic, int pin)
sys/arch/x86/x86/i8259.c
256
i8259_setup(struct pic *pic, struct cpu_info *ci,
sys/arch/x86/x86/i8259.c
99
static void i8259_hwmask(struct pic *, int);
sys/arch/x86/x86/intr.c
1021
(*pic->pic_addroute)(pic, ci, pin, idt_vec, type);
sys/arch/x86/x86/intr.c
1033
pic->pic_name, type == IST_EDGE ? "edge" : "level", pin,
sys/arch/x86/x86/intr.c
1040
intr_establish(int legacy_irq, struct pic *pic, int pin, int type, int level,
sys/arch/x86/x86/intr.c
1044
return intr_establish_xname(legacy_irq, pic, pin, type,
sys/arch/x86/x86/intr.c
1073
struct pic * const pic = source->is_pic;
sys/arch/x86/x86/intr.c
1079
(*pic->pic_hwmask)(pic, ih->ih_pin);
sys/arch/x86/x86/intr.c
1089
(*pic->pic_hwunmask)(pic, ih->ih_pin);
sys/arch/x86/x86/intr.c
1186
struct pic *pic;
sys/arch/x86/x86/intr.c
1201
pic = ci->ci_isources[ih->ih_slot]->is_pic;
sys/arch/x86/x86/intr.c
1205
(*pic->pic_hwmask)(pic, ih->ih_pin);
sys/arch/x86/x86/intr.c
1238
(*pic->pic_delroute)(pic, ci, ih->ih_pin, idtvec,
sys/arch/x86/x86/intr.c
1241
(*pic->pic_hwunmask)(pic, ih->ih_pin);
sys/arch/x86/x86/intr.c
1244
intr_source_free(ci, ih->ih_slot, pic, idtvec);
sys/arch/x86/x86/intr.c
1250
device_xname(ci->ci_dev), ih->ih_slot, pic->pic_name,
sys/arch/x86/x86/intr.c
1301
xen_intr_string(int port, char *buf, size_t len, struct pic *pic)
sys/arch/x86/x86/intr.c
1303
KASSERT(pic->pic_type == PIC_XEN);
sys/arch/x86/x86/intr.c
1307
snprintf(buf, len, "%s chan %d", pic->pic_name, port);
sys/arch/x86/x86/intr.c
1313
legacy_intr_string(int ih, char *buf, size_t len, struct pic *pic)
sys/arch/x86/x86/intr.c
1317
KASSERT(pic->pic_type == PIC_I8259);
sys/arch/x86/x86/intr.c
1327
snprintf(buf, len, "%s pin %d", pic->pic_name, legacy_irq);
sys/arch/x86/x86/intr.c
1336
struct ioapic_softc *pic;
sys/arch/x86/x86/intr.c
1344
pic = ioapic_find(APIC_IRQ_APIC(ih));
sys/arch/x86/x86/intr.c
1345
if (pic != NULL) {
sys/arch/x86/x86/intr.c
1347
device_xname(pic->sc_dev), APIC_IRQ_PIN(ih));
sys/arch/x86/x86/intr.c
1608
struct pic *pic;
sys/arch/x86/x86/intr.c
1620
pic = isp->is_pic;
sys/arch/x86/x86/intr.c
1624
if ((*pic->pic_trymask)(pic, isp->is_pin)) {
sys/arch/x86/x86/intr.c
1632
(*pic->pic_addroute)(pic, nci, isp->is_pin, isp->is_idtvec,
sys/arch/x86/x86/intr.c
1941
struct pic *pic;
sys/arch/x86/x86/intr.c
1971
pic = isp->is_pic;
sys/arch/x86/x86/intr.c
1972
if (pic == &i8259_pic) {
sys/arch/x86/x86/intr.c
2012
(*pic->pic_hwmask)(pic, pin); /* for ci_ipending check */
sys/arch/x86/x86/intr.c
2031
(*pic->pic_delroute)(pic, oldci, pin, old_idtvec, isp->is_type);
sys/arch/x86/x86/intr.c
2051
(*pic->pic_addroute)(pic, newci, pin, new_idtvec, isp->is_type);
sys/arch/x86/x86/intr.c
220
static int intr_allocate_slot_cpu(struct cpu_info *, struct pic *, int, int *,
sys/arch/x86/x86/intr.c
222
static int __noinline intr_allocate_slot(struct pic *, int, int,
sys/arch/x86/x86/intr.c
226
static void intr_source_free(struct cpu_info *, int, struct pic *, int);
sys/arch/x86/x86/intr.c
231
static const char *legacy_intr_string(int, char *, size_t, struct pic *);
sys/arch/x86/x86/intr.c
233
static const char *xen_intr_string(int, char *, size_t, struct pic *);
sys/arch/x86/x86/intr.c
303
intr_create_intrid(int legacy_irq, struct pic *pic, int pin, char *buf,
sys/arch/x86/x86/intr.c
310
if ((pic->pic_type == PIC_MSI) || (pic->pic_type == PIC_MSIX)) {
sys/arch/x86/x86/intr.c
314
dev = msipic_get_devid(pic);
sys/arch/x86/x86/intr.c
319
if (pic->pic_type == PIC_MSI)
sys/arch/x86/x86/intr.c
321
else if (pic->pic_type == PIC_MSIX)
sys/arch/x86/x86/intr.c
329
if (pic->pic_type == PIC_XEN) {
sys/arch/x86/x86/intr.c
331
return xen_intr_string(pin, buf, len, pic);
sys/arch/x86/x86/intr.c
340
if (pic->pic_type == PIC_I8259) {
sys/arch/x86/x86/intr.c
342
return legacy_intr_string(ih, buf, len, pic);
sys/arch/x86/x86/intr.c
346
ih = ((pic->pic_apicid << APIC_INT_APIC_SHIFT) & APIC_INT_APIC_MASK)
sys/arch/x86/x86/intr.c
348
if (pic->pic_type == PIC_IOAPIC) {
sys/arch/x86/x86/intr.c
455
intr_allocate_slot_cpu(struct cpu_info *ci, struct pic *pic, int pin,
sys/arch/x86/x86/intr.c
463
if (pic == &i8259_pic) {
sys/arch/x86/x86/intr.c
472
if (CPU_IS_PRIMARY(ci) && msipic_is_msi_pic(pic))
sys/arch/x86/x86/intr.c
498
if (pic->pic_type == PIC_MSI || pic->pic_type == PIC_MSIX)
sys/arch/x86/x86/intr.c
505
pic->pic_name, isp->is_evname);
sys/arch/x86/x86/intr.c
518
intr_allocate_slot(struct pic *pic, int pin, int level,
sys/arch/x86/x86/intr.c
535
if (isp->is_pic == pic &&
sys/arch/x86/x86/intr.c
554
if (pic == &i8259_pic) {
sys/arch/x86/x86/intr.c
559
error = intr_allocate_slot_cpu(ci, pic, pin, &slot, chained);
sys/arch/x86/x86/intr.c
579
error = intr_allocate_slot_cpu(ci, pic, pin, &slot, chained);
sys/arch/x86/x86/intr.c
590
error = intr_allocate_slot_cpu(ci, pic,
sys/arch/x86/x86/intr.c
607
if (pic == &i8259_pic) {
sys/arch/x86/x86/intr.c
642
intr_source_free(struct cpu_info *ci, int slot, struct pic *pic, int idtvec)
sys/arch/x86/x86/intr.c
653
if (pic != &i8259_pic)
sys/arch/x86/x86/intr.c
768
struct pic * const pic = source->is_pic;
sys/arch/x86/x86/intr.c
771
(*pic->pic_hwunmask)(pic, ih->ih_pin);
sys/arch/x86/x86/intr.c
832
intr_establish_xname(int legacy_irq, struct pic *pic, int pin, int type,
sys/arch/x86/x86/intr.c
849
KASSERTMSG((legacy_irq != -1 || pic != &i8259_pic),
sys/arch/x86/x86/intr.c
853
intrstr = intr_create_intrid(legacy_irq, pic, pin, intrstr_buf,
sys/arch/x86/x86/intr.c
862
if (msipic_is_msi_pic(pic)) {
sys/arch/x86/x86/intr.c
877
error = intr_allocate_slot(pic, pin, level, &ci, &slot, &idt_vec,
sys/arch/x86/x86/intr.c
884
pic->pic_name, pin);
sys/arch/x86/x86/intr.c
891
source->is_pic->pic_type != pic->pic_type) {
sys/arch/x86/x86/intr.c
902
source->is_pic = pic;
sys/arch/x86/x86/intr.c
917
intr_source_free(ci, slot, pic, idt_vec);
sys/arch/x86/x86/intr.c
923
__func__, pic->pic_name, pin,
sys/arch/x86/x86/intr.c
930
__func__, source->is_type, pic->pic_name, pin);
sys/arch/x86/x86/intr.c
954
(*pic->pic_hwmask)(pic, pin);
sys/arch/x86/x86/intr.c
968
ih->ih_pic = pic;
sys/arch/x86/x86/ioapic.c
109
void ioapic_hwmask(struct pic *, int);
sys/arch/x86/x86/ioapic.c
110
void ioapic_hwunmask(struct pic *, int);
sys/arch/x86/x86/ioapic.c
111
bool ioapic_trymask(struct pic *, int);
sys/arch/x86/x86/ioapic.c
112
static void ioapic_addroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/x86/ioapic.c
113
static void ioapic_delroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/x86/ioapic.c
505
ioapic_hwmask(struct pic *pic, int pin)
sys/arch/x86/x86/ioapic.c
508
struct ioapic_softc *sc = pic->pic_ioapic;
sys/arch/x86/x86/ioapic.c
520
ioapic_trymask(struct pic *pic, int pin)
sys/arch/x86/x86/ioapic.c
523
struct ioapic_softc *sc = pic->pic_ioapic;
sys/arch/x86/x86/ioapic.c
547
ioapic_hwunmask(struct pic *pic, int pin)
sys/arch/x86/x86/ioapic.c
550
struct ioapic_softc *sc = pic->pic_ioapic;
sys/arch/x86/x86/ioapic.c
561
ioapic_addroute(struct pic *pic, struct cpu_info *ci, int pin,
sys/arch/x86/x86/ioapic.c
564
struct ioapic_softc *sc = pic->pic_ioapic;
sys/arch/x86/x86/ioapic.c
575
ioapic_delroute(struct pic *pic, struct cpu_info *ci, int pin,
sys/arch/x86/x86/ioapic.c
579
ioapic_hwmask(pic, pin);
sys/arch/x86/x86/lapic.c
105
static void lapic_hwmask(struct pic *, int);
sys/arch/x86/x86/lapic.c
106
static void lapic_hwunmask(struct pic *, int);
sys/arch/x86/x86/lapic.c
107
static void lapic_setup(struct pic *, struct cpu_info *, int, int, int);
sys/arch/x86/x86/lapic.c
111
struct pic local_pic = {
sys/arch/x86/x86/lapic.c
969
lapic_hwmask(struct pic *pic, int pin)
sys/arch/x86/x86/lapic.c
981
lapic_hwunmask(struct pic *pic, int pin)
sys/arch/x86/x86/lapic.c
993
lapic_setup(struct pic *pic, struct cpu_info *ci,
sys/arch/x86/x86/mpacpi.c
1075
struct pic *pic;
sys/arch/x86/x86/mpacpi.c
1110
pic = intr_findpic(irq);
sys/arch/x86/x86/mpacpi.c
1111
if (pic == NULL)
sys/arch/x86/x86/mpacpi.c
1113
mip->ioapic = pic;
sys/arch/x86/x86/mpacpi.c
1114
pin = irq - pic->pic_vecbase;
sys/arch/x86/x86/mpacpi.c
1116
if (pic->pic_type == PIC_IOAPIC) {
sys/arch/x86/x86/mpacpi.c
1124
(pic->pic_apicid << APIC_INT_APIC_SHIFT) |
sys/arch/x86/x86/mpacpi.c
1126
pic->pic_ioapic->sc_pins[pin].ip_map = mip;
sys/arch/x86/x86/mpacpi.c
185
struct pic *pic;
sys/arch/x86/x86/mpacpi.c
191
pic = intr_findpic(ioapic_nmi->GlobalIrq);
sys/arch/x86/x86/mpacpi.c
192
if (pic == NULL)
sys/arch/x86/x86/mpacpi.c
195
if (pic->pic_type == PIC_IOAPIC)
sys/arch/x86/x86/mpacpi.c
203
mpi->ioapic = pic;
sys/arch/x86/x86/mpacpi.c
204
pin = ioapic_nmi->GlobalIrq - pic->pic_vecbase;
sys/arch/x86/x86/mpacpi.c
209
if (pic->pic_type == PIC_IOAPIC) {
sys/arch/x86/x86/mpacpi.c
210
pic->pic_ioapic->sc_pins[pin].ip_map = mpi;
sys/arch/x86/x86/mpacpi.c
212
(pic->pic_apicid << APIC_INT_APIC_SHIFT) |
sys/arch/x86/x86/mpacpi.c
245
pic = intr_findpic(isa_ovr->GlobalIrq);
sys/arch/x86/x86/mpacpi.c
246
if (pic == NULL)
sys/arch/x86/x86/mpacpi.c
249
if (pic->pic_type == PIC_IOAPIC)
sys/arch/x86/x86/mpacpi.c
252
pin = isa_ovr->GlobalIrq - pic->pic_vecbase;
sys/arch/x86/x86/mpacpi.c
261
if (pic->pic_type == PIC_IOAPIC) {
sys/arch/x86/x86/mpacpi.c
263
(pic->pic_apicid << APIC_INT_APIC_SHIFT) |
sys/arch/x86/x86/mpacpi.c
269
mpi->ioapic = (struct pic *)pic;
sys/arch/x86/x86/mpacpi.c
305
if (pic->pic_type == PIC_IOAPIC)
sys/arch/x86/x86/mpacpi.c
306
pic->pic_ioapic->sc_pins[pin].ip_map = mpi;
sys/arch/x86/x86/mpacpi.c
566
struct pic *pic;
sys/arch/x86/x86/mpacpi.c
650
pic = intr_findpic(ptrp->SourceIndex);
sys/arch/x86/x86/mpacpi.c
651
if (pic == NULL)
sys/arch/x86/x86/mpacpi.c
657
mpi->ioapic = pic;
sys/arch/x86/x86/mpacpi.c
658
pin = ptrp->SourceIndex - pic->pic_vecbase;
sys/arch/x86/x86/mpacpi.c
659
if (pic->pic_type == PIC_I8259 && pin > 15)
sys/arch/x86/x86/mpacpi.c
663
if (pic->pic_type == PIC_IOAPIC) {
sys/arch/x86/x86/mpacpi.c
664
pic->pic_ioapic->sc_pins[pin].ip_map = mpi;
sys/arch/x86/x86/mpacpi.c
666
(pic->pic_apicid << APIC_INT_APIC_SHIFT) |
sys/arch/x86/x86/mpacpi.c
731
struct pic *pic;
sys/arch/x86/x86/mpacpi.c
756
pic = intr_findpic(0);
sys/arch/x86/x86/mpacpi.c
757
if (pic == NULL)
sys/arch/x86/x86/mpacpi.c
760
if (pic->pic_type == PIC_IOAPIC)
sys/arch/x86/x86/mpacpi.c
778
mpi->ioapic = pic;
sys/arch/x86/x86/mpacpi.c
783
if (pic->pic_type == PIC_IOAPIC) {
sys/arch/x86/x86/mpacpi.c
785
(pic->pic_apicid << APIC_INT_APIC_SHIFT) |
sys/arch/x86/x86/mpacpi.c
789
pic->pic_ioapic->sc_pins[i].ip_map = mpi;
sys/arch/x86/x86/mpacpi.c
849
struct pic *sc;
sys/arch/x86/x86/mpbios.c
1325
struct pic *sc2;
sys/arch/x86/x86/mpbios.c
1415
mpi->ioapic = (struct pic *)sc;
sys/arch/x86/x86/x86_machdep.c
1576
struct pic *
sys/arch/x86/x86/x86_machdep.c
1580
struct ioapic_softc *pic;
sys/arch/x86/x86/x86_machdep.c
1582
pic = ioapic_find_bybase(num);
sys/arch/x86/x86/x86_machdep.c
1583
if (pic != NULL)
sys/arch/x86/x86/x86_machdep.c
1584
return &pic->sc_pic;
sys/arch/x86/x86/x86_softintr.c
142
struct pic softintr_pic = {
sys/arch/xen/include/evtchn.h
62
struct pic *pic;
sys/arch/xen/include/intr.h
74
int xen_pic_to_gsi(struct pic *, int);
sys/arch/xen/include/intr.h
75
int xen_map_msi_pirq(struct pic *, int);
sys/arch/xen/include/intr.h
76
int xen_map_msix_pirq(struct pic *, int);
sys/arch/xen/include/intr.h
77
void xen_pci_msi_release(struct pic *, int);
sys/arch/xen/include/intr.h
90
void *xen_intr_establish_xname(int, struct pic *, int, int, int, int (*)(void *),
sys/arch/xen/include/intr.h
92
void *xen_intr_establish(int, struct pic *, int, int, int, int (*)(void *),
sys/arch/xen/x86/pintr.c
172
xen_map_msi_pirq(struct pic *pic, int count)
sys/arch/xen/x86/pintr.c
175
const struct msipic_pci_info *msi_i = msipic_get_pci_info(pic);
sys/arch/xen/x86/pintr.c
183
KASSERT(pic->pic_type == PIC_MSI);
sys/arch/xen/x86/pintr.c
217
xen_map_msix_pirq(struct pic *pic, int count)
sys/arch/xen/x86/pintr.c
220
const struct msipic_pci_info *msi_i = msipic_get_pci_info(pic);
sys/arch/xen/x86/pintr.c
228
KASSERT(pic->pic_type == PIC_MSIX);
sys/arch/xen/x86/pintr.c
272
xen_pci_msi_release(struct pic *pic, int count)
sys/arch/xen/x86/pintr.c
274
const struct msipic_pci_info *msi_i = msipic_get_pci_info(pic);
sys/arch/xen/x86/pintr.c
296
xen_pic_to_gsi(struct pic *pic, int pin)
sys/arch/xen/x86/pintr.c
301
KASSERT(pic != NULL);
sys/arch/xen/x86/pintr.c
307
gsi = pic->pic_vecbase + pin;
sys/arch/xen/x86/pintr.c
310
switch (pic->pic_type) {
sys/arch/xen/x86/pintr.c
333
(pic->pic_type == PIC_IOAPIC) ? "ioapic" : "i8259",
sys/arch/xen/x86/pintr.c
343
const struct msipic_pci_info *msi_i = msipic_get_pci_info(pic);
sys/arch/xen/x86/pintr.c
347
(pic->pic_type == PIC_MSI) ? "MSI" : "MSIX",
sys/arch/xen/x86/pintr.c
353
panic("unknown pic_type %d", pic->pic_type);
sys/arch/xen/x86/xen_intr.c
139
xen_intr_establish(int legacy_irq, struct pic *pic, int pin,
sys/arch/xen/x86/xen_intr.c
144
return xen_intr_establish_xname(legacy_irq, pic, pin, type, level,
sys/arch/xen/x86/xen_intr.c
149
xen_intr_establish_xname(int legacy_irq, struct pic *pic, int pin,
sys/arch/xen/x86/xen_intr.c
156
if (pic->pic_type == PIC_XEN) {
sys/arch/xen/x86/xen_intr.c
159
intrstr = intr_create_intrid(legacy_irq, pic, pin, intrstr_buf,
sys/arch/xen/x86/xen_intr.c
182
KASSERTMSG(!(legacy_irq == -1 && pic == &i8259_pic),
sys/arch/xen/x86/xen_intr.c
185
gsi = xen_pic_to_gsi(pic, pin);
sys/arch/xen/x86/xen_intr.c
191
intrstr = intr_create_intrid(gsi, pic, pin, intrstr_buf,
sys/arch/xen/x86/xen_intr.c
198
pic->pic_addroute(pic, ci, pin, gsi, type);
sys/arch/xen/x86/xen_intr.c
215
pih->pic = pic;
sys/arch/xen/x86/xen_intr.c
216
if (msipic_is_msi_pic(pic))
sys/arch/xen/x86/xen_intr.c
217
pic->pic_hwunmask(pic, pin);
sys/arch/xen/x86/xen_intr.c
380
xen_intr_string(int port, char *buf, size_t len, struct pic *pic)
sys/arch/xen/x86/xen_intr.c
382
KASSERT(pic->pic_type == PIC_XEN);
sys/arch/xen/x86/xen_intr.c
387
snprintf(buf, len, "%s chan %d", pic->pic_name, port);
sys/arch/xen/x86/xen_intr.c
393
legacy_intr_string(int ih, char *buf, size_t len, struct pic *pic)
sys/arch/xen/x86/xen_intr.c
397
KASSERT(pic->pic_type == PIC_I8259);
sys/arch/xen/x86/xen_intr.c
407
snprintf(buf, len, "%s pin %d", pic->pic_name, legacy_irq);
sys/arch/xen/x86/xen_intr.c
418
struct ioapic_softc *pic;
sys/arch/xen/x86/xen_intr.c
426
pic = ioapic_find(APIC_IRQ_APIC(ih));
sys/arch/xen/x86/xen_intr.c
427
if (pic != NULL) {
sys/arch/xen/x86/xen_intr.c
429
device_xname(pic->sc_dev), APIC_IRQ_PIN(ih));
sys/arch/xen/x86/xen_intr.c
453
const char * xen_intr_create_intrid(int legacy_irq, struct pic *pic,
sys/arch/xen/x86/xen_intr.c
457
xen_intr_create_intrid(int legacy_irq, struct pic *pic, int pin, char *buf, size_t len)
sys/arch/xen/x86/xen_intr.c
463
if ((pic->pic_type == PIC_MSI) || (pic->pic_type == PIC_MSIX)) {
sys/arch/xen/x86/xen_intr.c
467
dev = msipic_get_devid(pic);
sys/arch/xen/x86/xen_intr.c
472
if (pic->pic_type == PIC_MSI)
sys/arch/xen/x86/xen_intr.c
474
else if (pic->pic_type == PIC_MSIX)
sys/arch/xen/x86/xen_intr.c
482
if (pic->pic_type == PIC_XEN) {
sys/arch/xen/x86/xen_intr.c
484
return xen_intr_string(pin, buf, len, pic);
sys/arch/xen/x86/xen_intr.c
493
if (pic->pic_type == PIC_I8259) {
sys/arch/xen/x86/xen_intr.c
495
return legacy_intr_string(ih, buf, len, pic);
sys/arch/xen/x86/xen_intr.c
499
ih = ((pic->pic_apicid << APIC_INT_APIC_SHIFT) & APIC_INT_APIC_MASK)
sys/arch/xen/x86/xen_intr.c
501
if (pic->pic_type == PIC_IOAPIC) {
sys/arch/xen/xen/evtchn.c
124
static void xen_evtchn_mask(struct pic *, int);
sys/arch/xen/xen/evtchn.c
125
static void xen_evtchn_unmask(struct pic *, int);
sys/arch/xen/xen/evtchn.c
126
static void xen_evtchn_addroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/xen/xen/evtchn.c
127
static void xen_evtchn_delroute(struct pic *, struct cpu_info *, int, int, int);
sys/arch/xen/xen/evtchn.c
128
static bool xen_evtchn_trymask(struct pic *, int);
sys/arch/xen/xen/evtchn.c
133
struct pic xen_pic = {
sys/arch/xen/xen/evtchn.c
419
xen_evtchn_mask(struct pic *pic, int pin)
sys/arch/xen/xen/evtchn.c
423
KASSERT(pic->pic_type == PIC_XEN);
sys/arch/xen/xen/evtchn.c
430
xen_evtchn_unmask(struct pic *pic, int pin)
sys/arch/xen/xen/evtchn.c
434
KASSERT(pic->pic_type == PIC_XEN);
sys/arch/xen/xen/evtchn.c
443
xen_evtchn_addroute(struct pic *pic, struct cpu_info *ci, int pin, int idt_vec, int type)
sys/arch/xen/xen/evtchn.c
456
KASSERT(pic->pic_type == PIC_XEN);
sys/arch/xen/xen/evtchn.c
463
xen_evtchn_delroute(struct pic *pic, struct cpu_info *ci, int pin, int idt_vec, int type)
sys/arch/xen/xen/evtchn.c
481
KASSERT(pic->pic_type == PIC_XEN);
sys/arch/xen/xen/evtchn.c
494
xen_evtchn_trymask(struct pic *pic, int pin)
sys/dev/virtio/arch/x86/virtio_mmio_cmdline.c
306
struct pic *pic;
sys/dev/virtio/arch/x86/virtio_mmio_cmdline.c
315
pic = &ioapic->sc_pic;
sys/dev/virtio/arch/x86/virtio_mmio_cmdline.c
316
pin = irq - pic->pic_vecbase;
sys/dev/virtio/arch/x86/virtio_mmio_cmdline.c
319
pic = &i8259_pic;
sys/dev/virtio/arch/x86/virtio_mmio_cmdline.c
323
msc->sc_ih = intr_establish_xname(irq, pic, pin, IST_LEVEL, vsc->sc_ipl,