Interrupts
An interrupt is a representation of an event that changes the succession of instructions performed by the processor. Interrupts imply an electric signal generated by the hardware to signal an event that has happened, such as a key press, reset, and so on. Interrupts are divided into more categories depending on their reference system, as follows:.
Software interrupts: These are usually exceptions triggered from external devices and user space programs
Hardware interrupts: These are signals from the system that usually indicate a processor specific instruction
The Linux interrupt handling layer offers an abstraction of interrupt handling for various device drivers through comprehensive API functions. It is used to request, enable, disable, and free interrupts, making sure that portability is guaranteed on multiple platforms. It handles all available interrupt controller hardware.
The generic interrupt handling uses the __do_IRQ()
handler, which is able to deal with all the available...