irq                66 bsp/drv/arm/gba/keypad.c 	irq_t		irq;
irq               140 bsp/drv/arm/gba/keypad.c 	sc->irq = irq_attach(KEYPAD_IRQ, IPL_INPUT, 0, keypad_isr,
irq                84 bsp/drv/arm/gba/swkbd.c 	irq_t		irq;		/* irq handle */
irq               107 bsp/drv/dev/block/fdd.c 	irq_t		irq;		/* interrupt handle */
irq               705 bsp/drv/dev/block/fdd.c 	sc->irq = irq_attach(FDC_IRQ, IPL_BLOCK, 0, fdc_isr, fdc_ist, sc);
irq                46 bsp/drv/dev/input/pckbd.c 	irq_t		irq;		/* irq handle */
irq               283 bsp/drv/dev/input/pckbd.c 	sc->irq = irq_attach(KBD_IRQ, IPL_INPUT, 0, pckbd_isr, IST_NONE, sc);
irq                60 bsp/drv/dev/input/psaux.c 	irq_t		irq;		/* handle for mouse irq */
irq               216 bsp/drv/dev/input/psaux.c 	sc->irq = irq_attach(MOUSE_IRQ, IPL_INPUT, 0, psaux_isr,
irq               185 bsp/drv/dev/serial/ns16550.c 	sp->irq = irq_attach(COM_IRQ, IPL_COMM, 0, ns16550_isr,
irq               214 bsp/drv/dev/serial/pl011.c 	sp->irq = irq_attach(UART_IRQ, IPL_COMM, 0, pl011_isr, IST_NONE, sp);
irq                37 bsp/drv/include/serial.h 	irq_t		irq;
irq               154 bsp/hal/ppc/prep/interrupt.c 	int irq;
irq               157 bsp/hal/ppc/prep/interrupt.c 	irq = inb(PIC_M) & 7;
irq               158 bsp/hal/ppc/prep/interrupt.c 	if (irq == 2) {
irq               160 bsp/hal/ppc/prep/interrupt.c 		irq = (inb(PIC_M) & 7) + 8;
irq               162 bsp/hal/ppc/prep/interrupt.c 	return irq;
irq                39 sys/include/irq.h struct irq {
irq                46 sys/include/types.h typedef struct irq	*irq_t;
irq                72 sys/kern/irq.c static struct irq	*irq_table[MAXIRQS];	/* IRQ descriptor table */
irq                85 sys/kern/irq.c 	struct irq *irq;
irq                91 sys/kern/irq.c 	if ((irq = kmem_alloc(sizeof(*irq))) == NULL)
irq                94 sys/kern/irq.c 	memset(irq, 0, sizeof(*irq));
irq                95 sys/kern/irq.c 	irq->vector = vector;
irq                96 sys/kern/irq.c 	irq->priority = pri;
irq                97 sys/kern/irq.c 	irq->isr = isr;
irq                98 sys/kern/irq.c 	irq->ist = ist;
irq                99 sys/kern/irq.c 	irq->data = data;
irq               105 sys/kern/irq.c 		irq->thread = kthread_create(&irq_thread, irq, ISTPRI(pri));
irq               106 sys/kern/irq.c 		if (irq->thread == NULL)
irq               109 sys/kern/irq.c 		event_init(&irq->istevt, "interrupt");
irq               111 sys/kern/irq.c 	irq_table[vector] = irq;
irq               118 sys/kern/irq.c 	return irq;
irq               127 sys/kern/irq.c irq_detach(irq_t irq)
irq               129 sys/kern/irq.c 	ASSERT(irq != NULL);
irq               130 sys/kern/irq.c 	ASSERT(irq->vector < MAXIRQS);
irq               132 sys/kern/irq.c 	interrupt_mask(irq->vector);
irq               133 sys/kern/irq.c 	irq_table[irq->vector] = NULL;
irq               134 sys/kern/irq.c 	if (irq->thread != NULL)
irq               135 sys/kern/irq.c 		kthread_terminate(irq->thread);
irq               137 sys/kern/irq.c 	kmem_free(irq);
irq               149 sys/kern/irq.c 	struct irq *irq;
irq               153 sys/kern/irq.c 	irq = (struct irq *)arg;
irq               154 sys/kern/irq.c 	fn = irq->ist;
irq               155 sys/kern/irq.c 	data = irq->data;
irq               158 sys/kern/irq.c 		if (irq->istreq <= 0) {
irq               167 sys/kern/irq.c 			sched_sleep(&irq->istevt);
irq               169 sys/kern/irq.c 		irq->istreq--;
irq               170 sys/kern/irq.c 		ASSERT(irq->istreq >= 0);
irq               192 sys/kern/irq.c 	struct irq *irq;
irq               195 sys/kern/irq.c 	irq = irq_table[vector];
irq               196 sys/kern/irq.c 	if (irq == NULL) {
irq               200 sys/kern/irq.c 	ASSERT(irq->isr != NULL);
irq               203 sys/kern/irq.c 	irq->count++;
irq               208 sys/kern/irq.c 	rc = (*irq->isr)(irq->data);
irq               214 sys/kern/irq.c 		ASSERT(irq->ist != IST_NONE);
irq               215 sys/kern/irq.c 		irq->istreq++;
irq               216 sys/kern/irq.c 		sched_wakeup(&irq->istevt);
irq               217 sys/kern/irq.c 		ASSERT(irq->istreq != 0);
irq               229 sys/kern/irq.c 	struct irq *irq;
irq               241 sys/kern/irq.c 	irq = irq_table[vec];
irq               242 sys/kern/irq.c 	info->vector = irq->vector;
irq               243 sys/kern/irq.c 	info->count = irq->count;
irq               244 sys/kern/irq.c 	info->priority = irq->priority;
irq               245 sys/kern/irq.c 	info->istreq = irq->istreq;
irq               246 sys/kern/irq.c 	info->thread = irq->thread;