# Interrupts

In the following posts, we will cover interrupts and exceptions handling in the Linux kernel.

* [Interrupts and Interrupt Handling. Part 1.](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-1) - describes interrupts and interrupt handling theory.
* [Interrupts in the Linux Kernel](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-2) - describes stuffs related to interrupts and exceptions handling from the early stage.
* [Early interrupt handlers](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-3) - describes early interrupt handlers.
* [Interrupt handlers](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-4) - describes first non-early interrupt handlers.
* [Implementation of exception handlers](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-5) - describes implementation of some exception handlers such as double fault, divide by zero etc.
* [Handling non-maskable interrupts](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-6) - describes handling of non-maskable interrupts and remaining interrupt handlers from the architecture-specific part.
* [External hardware interrupts](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-7) - describes early initialization of code which is related to handling external hardware interrupts.
* [Non-early initialization of the IRQs](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-8) - describes non-early initialization of code which is related to handling external hardware interrupts.
* [Softirq, Tasklets and Workqueues](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-9) - describes softirqs, tasklets and workqueues concepts.
* [Last part](https://0xax.gitbook.io/linux-insides/summary/interrupts/linux-interrupts-10) - this is the last part of the `Interrupts and Interrupt Handling` chapter and here we will see a real hardware driver and some interrupts related stuff.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://0xax.gitbook.io/linux-insides/summary/interrupts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
