aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-03-26 17:15:26 +0100
committerFelix Morgner <felix.morgner@ost.ch>2026-03-27 07:02:35 +0100
commitaa68f53d2502e0ea81c8e9c95e37d9847cb6cb16 (patch)
treeadf2c0052dc36641e0ca81a92f2a9516110d03b0 /kernel/kapi
parenta2834cc22b096e848448bb681ab7b517ecbe70b9 (diff)
downloadteachos-aa68f53d2502e0ea81c8e9c95e37d9847cb6cb16.tar.xz
teachos-aa68f53d2502e0ea81c8e9c95e37d9847cb6cb16.zip
arch/cpu: fix interrupt dispatch
Diffstat (limited to 'kernel/kapi')
-rw-r--r--kernel/kapi/interrupts.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/kernel/kapi/interrupts.cpp b/kernel/kapi/interrupts.cpp
index e79453a..27427bb 100644
--- a/kernel/kapi/interrupts.cpp
+++ b/kernel/kapi/interrupts.cpp
@@ -31,6 +31,12 @@ namespace kapi::interrupts
{
auto & handler_list = handlers.at(irq_number);
+ if (handler_list.empty())
+ {
+ kstd::println(kstd::print_sink::stderr, "[OS:interrupts] No handler for IRQ{}", irq_number);
+ return status::unhandled;
+ }
+
for (auto handler : handler_list)
{
if (handler && handler->handle_interrupt(irq_number) == status::handled)