Thursday, December 11, 2008

IRQ Subsystem on Linux Kernel 2.6

OS: Linux Kernel 2.6.24 or later
Platform: ARM11 MPCore

There are two important data structures of interrupts.
(1) The Interrupt Controller
hw_interrupt_type [include/linux/irq.h]
(2) The description for each IRQ (interrupt handler, interrupt status)
irq_desc [include/linux/irq.h]

The whole IRQs is defined in a global array
struct irq_desc irq_desc[NR_IRQS] [kernel/irq/handle.c]
where NR_IRQS is the maximum number of IRQs [arch/arm/mach-cns3000/include/mach/board-vega.h]

No comments: