diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-03-26 17:15:26 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-03-27 07:02:35 +0100 |
| commit | aa68f53d2502e0ea81c8e9c95e37d9847cb6cb16 (patch) | |
| tree | adf2c0052dc36641e0ca81a92f2a9516110d03b0 /kernel/kapi | |
| parent | a2834cc22b096e848448bb681ab7b517ecbe70b9 (diff) | |
| download | teachos-aa68f53d2502e0ea81c8e9c95e37d9847cb6cb16.tar.xz teachos-aa68f53d2502e0ea81c8e9c95e37d9847cb6cb16.zip | |
arch/cpu: fix interrupt dispatch
Diffstat (limited to 'kernel/kapi')
| -rw-r--r-- | kernel/kapi/interrupts.cpp | 6 |
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) |
