summaryrefslogtreecommitdiff
path: root/Kernel/Interrupts/SharedIRQHandler.h
AgeCommit message (Collapse)Author
2021-07-21Kernel: Use IntrusiveList for keeping track of GenericInterruptHandlersAndreas Kling
2021-07-11Kernel: Make various T::class_name() and similar return StringViewAndreas Kling
Instead of returning char const*, we can also give you a StringView.
2021-06-24Kernel: Remove unused CPU.h includesHendiadyoin1
In most cases we did not need it at all, in other, we only needed one header from it
2021-06-24Kernel: Pull apart CPU.hHendiadyoin1
This does not add any functional changes
2021-06-17Kernel/Interrupts: Return boolean on whether we handled the interruptLiav A
If we are in a shared interrupt handler, the called handlers might indicate it was not their interrupt, so we should not increment the call counter of these handlers.
2021-06-17Kernel/Interrupts: Enumerate nested handlers in a shared handlerLiav A
When asked to enumerate all interrupt handlers, display all shared handlers within it instead of just returning the responsible handler of them.
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-03-21Kernel::CPU: Move headers into common directoryHendiadyoin1
Alot of code is shared between i386/i686/x86 and x86_64 and a lot probably will be used for compatability modes. So we start by moving the headers into one Directory. We will probalby be able to move some cpp files aswell.
2021-02-05Kernel: Add missing initializer for SharedIRQHandler::m_enabledAndreas Kling
Found by KUBSAN :^)
2020-03-19Kernel: Use a const reference to RegisterState in IRQ handlingLiav A
2020-03-06Kernel: Change HandlerPurpose to HandlerTypeLiav A
Also, GenericInterruptHandler class requires to implement two new methods.
2020-02-29Kernel: Simplify interrupt managementLiav A
The IRQController object is RefCounted, and is shared between the InterruptManagement class & IRQ handlers' classes. IRQHandler, SharedIRQHandler & SpuriousInterruptHandler classes use a responsible IRQ controller directly instead of calling InterruptManagement for disable(), enable() or eoi(). Also, the initialization process of InterruptManagement is simplified, so it doesn't rely on an ACPI parser to be initialized.
2020-02-24Kernel: Change get_sharing_devices_count() in GenericInterruptHandlerLiav A
The new method' name is sharing_devices_count(). The Serenity Coding Style tends to not accept the word "get" in methods' names if possible.
2020-02-24Kernel: Add SharedIRQHandler classLiav A
This class represents a shared interrupt handler. This class will not be created automatically but only if two IRQ Handlers are sharing the same IRQ number.