]>
Commit | Line | Data |
---|---|---|
e7225dc8 | 1 | =============== |
f702d701 | 2 | What is an IRQ? |
e7225dc8 | 3 | =============== |
f702d701 EB |
4 | |
5 | An IRQ is an interrupt request from a device. | |
6 | Currently they can come in over a pin, or over a packet. | |
7 | Several devices may be connected to the same pin thus | |
8 | sharing an IRQ. | |
9 | ||
10 | An IRQ number is a kernel identifier used to talk about a hardware | |
11 | interrupt source. Typically this is an index into the global irq_desc | |
12 | array, but except for what linux/interrupt.h implements the details | |
13 | are architecture specific. | |
14 | ||
15 | An IRQ number is an enumeration of the possible interrupt sources on a | |
16 | machine. Typically what is enumerated is the number of input pins on | |
17 | all of the interrupt controller in the system. In the case of ISA | |
18 | what is enumerated are the 16 input pins on the two i8259 interrupt | |
19 | controllers. | |
20 | ||
21 | Architectures can assign additional meaning to the IRQ numbers, and | |
22 | are encouraged to in the case where there is any manual configuration | |
23 | of the hardware involved. The ISA IRQs are a classic example of | |
24 | assigning this kind of additional meaning. |