1===============
2What is an IRQ?
3===============
4
5An IRQ is an interrupt request from a device. Currently, they can come
6in over a pin, or over a packet. Several devices may be connected to
7the same pin thus sharing an IRQ. Such as on legacy PCI bus: All devices
8typically share 4 lanes/pins. Note that each device can request an
9interrupt on each of the lanes.
10
11An IRQ number is a kernel identifier used to talk about a hardware
12interrupt source. Typically, this is an index into the global irq_desc
13array or sparse_irqs tree. But except for what linux/interrupt.h
14implements, the details are architecture specific.
15
16An IRQ number is an enumeration of the possible interrupt sources on a
17machine. Typically, what is enumerated is the number of input pins on
18all of the interrupt controllers in the system. In the case of ISA,
19what is enumerated are the 8 input pins on each of the two i8259
20interrupt controllers.
21
22Architectures can assign additional meaning to the IRQ numbers, and
23are encouraged to in the case where there is any manual configuration
24of the hardware involved. The ISA IRQs are a classic example of
25assigning this kind of additional meaning.
26