From 7ef5d222f1815952613f751d6358f48bf841ec5b Mon Sep 17 00:00:00 2001 From: Liav A Date: Thu, 5 Mar 2020 19:15:38 +0200 Subject: [PATCH] Kernel: Change data in /proc/interrupts to be more richer Also, during interrupt handlers' enumeration, we call all interrupts handlers that are not UnhandledInterruptHandler. --- Kernel/FileSystem/ProcFS.cpp | 3 ++- Kernel/Interrupts/InterruptManagement.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Kernel/FileSystem/ProcFS.cpp b/Kernel/FileSystem/ProcFS.cpp index 20349cfaed9..df9a22207a6 100644 --- a/Kernel/FileSystem/ProcFS.cpp +++ b/Kernel/FileSystem/ProcFS.cpp @@ -363,8 +363,9 @@ Optional procfs$interrupts(InodeIdentifier) JsonArraySerializer array { builder }; InterruptManagement::the().enumerate_interrupt_handlers([&array](GenericInterruptHandler& handler) { auto obj = array.add_object(); - obj.add("purpose", "Interrupt Handler"); // FIXME: Determine the right description for each interrupt handler. + obj.add("purpose", handler.purpose()); obj.add("interrupt_line", handler.interrupt_number()); + obj.add("controller", handler.controller()); obj.add("cpu_handler", 0); // FIXME: Determine the responsible CPU for each interrupt handler. obj.add("device_sharing", (unsigned)handler.sharing_devices_count()); obj.add("call_count", (unsigned)handler.get_invoking_count()); diff --git a/Kernel/Interrupts/InterruptManagement.cpp b/Kernel/Interrupts/InterruptManagement.cpp index adf9b0400b8..65571a4f834 100644 --- a/Kernel/Interrupts/InterruptManagement.cpp +++ b/Kernel/Interrupts/InterruptManagement.cpp @@ -63,7 +63,7 @@ void InterruptManagement::enumerate_interrupt_handlers(Function 0) + if (handler.type() != HandlerType::UnhandledInterruptHandler) callback(handler); } }