diff options
author | Liav A <liavalb@gmail.com> | 2020-02-28 22:33:41 +0200 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2020-02-29 00:12:46 +0100 |
commit | 6f914ed0a4d5e5170f3d3a50573c55759e47061f (patch) | |
tree | d62298413f5b3ab25e1d67d4e856146763b75a4f /Kernel/Interrupts/SpuriousInterruptHandler.h | |
parent | f96cf250f9427e2c563da2eecb0410fb4c3b1426 (diff) | |
download | serenity-6f914ed0a4d5e5170f3d3a50573c55759e47061f.zip |
Kernel: Simplify interrupt management
The IRQController object is RefCounted, and is shared between the
InterruptManagement class & IRQ handlers' classes.
IRQHandler, SharedIRQHandler & SpuriousInterruptHandler classes
use a responsible IRQ controller directly instead of calling
InterruptManagement for disable(), enable() or eoi().
Also, the initialization process of InterruptManagement is
simplified, so it doesn't rely on an ACPI parser to be initialized.
Diffstat (limited to 'Kernel/Interrupts/SpuriousInterruptHandler.h')
-rw-r--r-- | Kernel/Interrupts/SpuriousInterruptHandler.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/Kernel/Interrupts/SpuriousInterruptHandler.h b/Kernel/Interrupts/SpuriousInterruptHandler.h index 5abb6988f4..0208b0f4f9 100644 --- a/Kernel/Interrupts/SpuriousInterruptHandler.h +++ b/Kernel/Interrupts/SpuriousInterruptHandler.h @@ -56,6 +56,7 @@ private: void disable_interrupt_vector(); explicit SpuriousInterruptHandler(u8 interrupt_number); bool m_enabled; + RefPtr<IRQController> m_responsible_irq_controller; OwnPtr<GenericInterruptHandler> m_real_handler; }; } |