diff --git a/Kernel/Arch/aarch64/Interrupts.cpp b/Kernel/Arch/aarch64/Interrupts.cpp index 0a0a82f546..8a49bfb120 100644 --- a/Kernel/Arch/aarch64/Interrupts.cpp +++ b/Kernel/Arch/aarch64/Interrupts.cpp @@ -37,7 +37,7 @@ extern "C" void handle_interrupt(TrapFrame const* const) auto* handler = s_interrupt_handlers[irq]; VERIFY(handler); - handler->increment_invoking_counter(); + handler->increment_call_count(); handler->handle_interrupt(regs); handler->eoi(); diff --git a/Kernel/Arch/x86/common/Interrupts.cpp b/Kernel/Arch/x86/common/Interrupts.cpp index 1e31440cb3..fcbb630c7c 100644 --- a/Kernel/Arch/x86/common/Interrupts.cpp +++ b/Kernel/Arch/x86/common/Interrupts.cpp @@ -509,7 +509,7 @@ void handle_interrupt(TrapFrame* trap) handler = s_interrupt_handler[irq]; } VERIFY(handler); - handler->increment_invoking_counter(); + handler->increment_call_count(); handler->handle_interrupt(regs); handler->eoi(); } diff --git a/Kernel/FileSystem/SysFS/Subsystems/Kernel/Interrupts.cpp b/Kernel/FileSystem/SysFS/Subsystems/Kernel/Interrupts.cpp index 23b0258080..416ffc600b 100644 --- a/Kernel/FileSystem/SysFS/Subsystems/Kernel/Interrupts.cpp +++ b/Kernel/FileSystem/SysFS/Subsystems/Kernel/Interrupts.cpp @@ -36,7 +36,7 @@ ErrorOr SysFSInterrupts::try_generate(KBufferBuilder& builder) TRY(obj.add("controller"sv, handler.controller())); TRY(obj.add("cpu_handler"sv, 0)); // FIXME: Determine the responsible CPU for each interrupt handler. TRY(obj.add("device_sharing"sv, (unsigned)handler.sharing_devices_count())); - TRY(obj.add("call_count"sv, (unsigned)handler.get_invoking_count())); + TRY(obj.add("call_count"sv, handler.call_count())); TRY(obj.finish()); return {}; })(); diff --git a/Kernel/Interrupts/GenericInterruptHandler.cpp b/Kernel/Interrupts/GenericInterruptHandler.cpp index 62e859a37b..971cf57efd 100644 --- a/Kernel/Interrupts/GenericInterruptHandler.cpp +++ b/Kernel/Interrupts/GenericInterruptHandler.cpp @@ -67,4 +67,9 @@ void GenericInterruptHandler::change_interrupt_number(u8 number) register_generic_interrupt_handler(InterruptManagement::acquire_mapped_interrupt_number(interrupt_number()), *this); } +void GenericInterruptHandler::increment_call_count() +{ + ++m_call_count; +} + } diff --git a/Kernel/Interrupts/GenericInterruptHandler.h b/Kernel/Interrupts/GenericInterruptHandler.h index e2c3716294..8a193dd6b5 100644 --- a/Kernel/Interrupts/GenericInterruptHandler.h +++ b/Kernel/Interrupts/GenericInterruptHandler.h @@ -37,7 +37,7 @@ public: u8 interrupt_number() const { return m_interrupt_number; } - size_t get_invoking_count() const { return m_invoking_count; } + u32 call_count() const { return m_call_count; } virtual size_t sharing_devices_count() const = 0; virtual bool is_shared_handler() const = 0; @@ -48,10 +48,7 @@ public: virtual StringView controller() const = 0; virtual bool eoi() = 0; - ALWAYS_INLINE void increment_invoking_counter() - { - m_invoking_count++; - } + void increment_call_count(); protected: void change_interrupt_number(u8 number); @@ -60,7 +57,7 @@ protected: void disable_remap() { m_disable_remap = true; } private: - Atomic m_invoking_count { 0 }; + Atomic m_call_count { 0 }; u8 m_interrupt_number { 0 }; bool m_disable_remap { false }; bool m_registered { false }; diff --git a/Kernel/Interrupts/SharedIRQHandler.cpp b/Kernel/Interrupts/SharedIRQHandler.cpp index 22e3994458..a232faad27 100644 --- a/Kernel/Interrupts/SharedIRQHandler.cpp +++ b/Kernel/Interrupts/SharedIRQHandler.cpp @@ -74,7 +74,7 @@ bool SharedIRQHandler::handle_interrupt(RegisterState const& regs) for (auto& handler : m_handlers) { dbgln_if(INTERRUPT_DEBUG, "Going for Interrupt Handling @ {}, Shared Interrupt {}", i, interrupt_number()); if (handler.handle_interrupt(regs)) { - handler.increment_invoking_counter(); + handler.increment_call_count(); was_handled = true; } dbgln_if(INTERRUPT_DEBUG, "Going for Interrupt Handling @ {}, Shared Interrupt {} - End", i, interrupt_number()); diff --git a/Kernel/Interrupts/SpuriousInterruptHandler.cpp b/Kernel/Interrupts/SpuriousInterruptHandler.cpp index 5581b9a263..ea73a45887 100644 --- a/Kernel/Interrupts/SpuriousInterruptHandler.cpp +++ b/Kernel/Interrupts/SpuriousInterruptHandler.cpp @@ -74,7 +74,7 @@ bool SpuriousInterruptHandler::handle_interrupt(RegisterState const& state) if (m_responsible_irq_controller->get_isr() & (1 << interrupt_number())) { m_real_irq = true; // remember that we had a real IRQ, when EOI later! if (m_real_handler->handle_interrupt(state)) { - m_real_handler->increment_invoking_counter(); + m_real_handler->increment_call_count(); return true; } return false;