You will find a couple of posts which describe interrupts and exceptions handling in the linux kernel.
- Interrupts and Interrupt Handling. Part 1. - describes an interrupts handling theory.
- Start to dive into interrupts in the Linux kernel - this part starts to describe interrupts and exceptions handling related stuff from the early stage.
- Early interrupt handlers - third part describes early interrupt handlers.
- Interrupt handlers - fourth part describes first non-early interrupt handlers.
- Implementation of exception handlers - descripbes implementation of some exception handlers as double fault, divide by zero and etc.
- Handling Non-Maskable interrupts - describes handling of non-maskable interrupts and the rest of interrupts handlers from the architecture-specific part.
- Dive into external hardware interrupts - this part describes early initialization of code which is related to handling of external hardware interrupts.
- Non-early initialization of the IRQs - this part describes non-early initialization of code which is related to handling of external hardware interrupts.
- Softirq, Tasklets and Workqueues - this part describes softirqs, tasklets and workqueues concepts.
- - this is the last part of the interrupts and interrupt handling chapter and here we will see a real hardware driver and interrupts related stuff.