concepts.rst 1.1 KB

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