Kernel: Move Interruptable from InterruptController.h to its own file

This commit is contained in:
2024-03-06 00:46:20 +02:00
parent 76b0f80169
commit f0105cb7fb
15 changed files with 63 additions and 48 deletions

View File

@@ -0,0 +1,29 @@
#include <kernel/IDT.h>
#include <kernel/Interruptable.h>
#include <kernel/InterruptController.h>
#include <kernel/Processor.h>
namespace Kernel
{
void Interruptable::set_irq(int irq)
{
auto& processor = Processor::current();
if (m_irq != -1)
processor.idt().register_irq_handler(m_irq, nullptr);
m_irq = irq;
processor.idt().register_irq_handler(irq, this);
}
void Interruptable::enable_interrupt()
{
ASSERT(m_irq != -1);
InterruptController::get().enable_irq(m_irq);
}
void Interruptable::disable_interrupt()
{
ASSERT_NOT_REACHED();
}
}