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