1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 01:37:36 +00:00

Kernel: Use IntrusiveList for keeping track of GenericInterruptHandlers

This commit is contained in:
Andreas Kling 2021-07-21 20:21:29 +02:00
parent a9f76b8270
commit 79745507a9
3 changed files with 16 additions and 15 deletions

View file

@ -6,7 +6,6 @@
#pragma once
#include <AK/HashTable.h>
#include <AK/NonnullOwnPtr.h>
#include <AK/RefPtr.h>
#include <AK/Types.h>
@ -28,7 +27,7 @@ public:
void enumerate_handlers(Function<void(GenericInterruptHandler&)>&);
virtual size_t sharing_devices_count() const override { return m_handlers.size(); }
virtual size_t sharing_devices_count() const override { return m_handlers.size_slow(); }
virtual bool is_shared_handler() const override { return true; }
virtual bool is_sharing_with_others() const override { return false; }
@ -41,7 +40,7 @@ private:
void disable_interrupt_vector();
explicit SharedIRQHandler(u8 interrupt_number);
bool m_enabled { true };
HashTable<GenericInterruptHandler*> m_handlers;
GenericInterruptHandler::List m_handlers;
RefPtr<IRQController> m_responsible_irq_controller;
};
}