ladybird/Kernel/PCI
Liav A 1ee37245cd 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.
2020-01-22 12:22:09 +01:00
..
Access.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Access.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Definitions.h Kernel: Introduce IRQ sharing support 2020-01-22 12:22:09 +01:00
Device.cpp Kernel: Introduce IRQ sharing support 2020-01-22 12:22:09 +01:00
Device.h Kernel: Introduce IRQ sharing support 2020-01-22 12:22:09 +01:00
Initializer.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
Initializer.h Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
IOAccess.cpp Meta: Add license header to source files 2020-01-18 09:45:54 +01:00
IOAccess.h Kernel: PCI MMIO no longer uses map_for_kernel() 2020-01-21 11:29:58 +01:00
MMIOAccess.cpp Kernel: PCI MMIO no longer uses map_for_kernel() 2020-01-21 11:29:58 +01:00
MMIOAccess.h Kernel: PCI MMIO no longer uses map_for_kernel() 2020-01-21 11:29:58 +01:00