mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 11:18:13 +00:00
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.
This commit is contained in:
parent
2a160faf98
commit
1ee37245cd
7 changed files with 399 additions and 0 deletions
|
@ -178,5 +178,6 @@ class Access;
|
|||
class MMIOAccess;
|
||||
class IOAccess;
|
||||
class MMIOSegment;
|
||||
class Device;
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue