18c2ecf20Sopenharmony_ci===============
28c2ecf20Sopenharmony_ciWhat is an IRQ?
38c2ecf20Sopenharmony_ci===============
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciAn IRQ is an interrupt request from a device.
68c2ecf20Sopenharmony_ciCurrently they can come in over a pin, or over a packet.
78c2ecf20Sopenharmony_ciSeveral devices may be connected to the same pin thus
88c2ecf20Sopenharmony_cisharing an IRQ.
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciAn IRQ number is a kernel identifier used to talk about a hardware
118c2ecf20Sopenharmony_ciinterrupt source.  Typically this is an index into the global irq_desc
128c2ecf20Sopenharmony_ciarray, but except for what linux/interrupt.h implements the details
138c2ecf20Sopenharmony_ciare architecture specific.
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ciAn IRQ number is an enumeration of the possible interrupt sources on a
168c2ecf20Sopenharmony_cimachine.  Typically what is enumerated is the number of input pins on
178c2ecf20Sopenharmony_ciall of the interrupt controller in the system.  In the case of ISA
188c2ecf20Sopenharmony_ciwhat is enumerated are the 16 input pins on the two i8259 interrupt
198c2ecf20Sopenharmony_cicontrollers.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciArchitectures can assign additional meaning to the IRQ numbers, and
228c2ecf20Sopenharmony_ciare encouraged to in the case  where there is any manual configuration
238c2ecf20Sopenharmony_ciof the hardware involved.  The ISA IRQs are a classic example of
248c2ecf20Sopenharmony_ciassigning this kind of additional meaning.
25