1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 16:18:12 +00:00

Kernel/Interrupts: Enumerate nested handlers in a shared handler

When asked to enumerate all interrupt handlers, display all shared
handlers within it instead of just returning the responsible handler of
them.
This commit is contained in:
Liav A 2021-06-05 07:50:27 +03:00 committed by Andreas Kling
parent dcb55db99b
commit 030999d269
3 changed files with 15 additions and 0 deletions

View file

@ -42,6 +42,14 @@ bool SharedIRQHandler::eoi()
return true;
}
void SharedIRQHandler::enumerate_handlers(Function<void(GenericInterruptHandler&)>& callback)
{
for (auto* handler : m_handlers) {
VERIFY(handler);
callback(*handler);
}
}
SharedIRQHandler::SharedIRQHandler(u8 irq)
: GenericInterruptHandler(irq)
, m_responsible_irq_controller(InterruptManagement::the().get_responsible_irq_controller(irq))