summaryrefslogtreecommitdiff
path: root/Kernel/Devices/BlockDevice.h
diff options
context:
space:
mode:
authorLiav A <liavalb@gmail.com>2020-01-21 13:20:16 +0200
committerAndreas Kling <kling@serenityos.org>2020-01-22 12:22:09 +0100
commit1ee37245cd7342a649d50653b137e4ca626e88b4 (patch)
treea5ca6b9e87d1c8430133a71d58090a9753252061 /Kernel/Devices/BlockDevice.h
parent2a160faf989124b3599c14a50f6604c33bb34d64 (diff)
downloadserenity-1ee37245cd7342a649d50653b137e4ca626e88b4.zip
Kernel: Introduce IRQ sharing support
The support is very basic - Each component that needs to handle IRQs inherits from InterruptHandler class. When the InterruptHandler constructor is called it registers itself in a SharedInterruptHandler. When an IRQ is fired, the SharedInterruptHandler is invoked, then it iterates through a list of the registered InterruptHandlers. Also, InterruptEnabler class was created to provide a way to enable IRQ handling temporarily, similar to InterruptDisabler (in CPU.h, which does the opposite). In addition to that a PCI::Device class has been added, that inherits from InterruptHandler.
Diffstat (limited to 'Kernel/Devices/BlockDevice.h')
0 files changed, 0 insertions, 0 deletions