ladybird/Kernel/Interrupts
Liav A 39c1783387 Kernel: Allow to install a real IRQ handler on a spurious one
IRQ 7 and 15 on the PIC architecture are used for spurious interrupts.
IRQ 7 could also be used for LPT connection, and IRQ 15 can be used for
the secondary IDE channel. Therefore, we need to allow to install a
real IRQ handler and check if a real IRQ was asserted. If so, we handle
them in the usual way.

A note on this fix - unregistering or registering a new IRQ handler
after we already registered one in the spurious interrupt handler is
not supported yet.
2020-12-21 00:19:21 +01:00
..
APIC.cpp Everywhere: Switch from (void) to [[maybe_unused]] (#4473) 2020-12-21 00:09:48 +01:00
APIC.h Kernel: Set up and calibrate APIC timer, and enable timer on all CPUs 2020-10-25 21:18:35 +01:00
GenericInterruptHandler.cpp Kernel: Fix counting interrupts 2020-12-02 23:19:59 +01:00
GenericInterruptHandler.h Kernel: Fix counting interrupts 2020-12-02 23:19:59 +01:00
InterruptManagement.cpp Refactor: Replace usages of FixedArray with Vector. 2020-09-08 14:01:21 +02:00
InterruptManagement.h Refactor: Replace usages of FixedArray with Vector. 2020-09-08 14:01:21 +02:00
IOAPIC.cpp Kernel: Don't remap IOAPIC registers every time we try to read/write 2020-11-01 10:30:20 +01:00
IOAPIC.h Kernel: Don't remap IOAPIC registers every time we try to read/write 2020-11-01 10:30:20 +01:00
IRQController.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
IRQHandler.cpp Kernel: Simplify disable_irq() and enable_irq() methods in IRQHandler 2020-03-24 16:15:33 +01:00
IRQHandler.h Kernel: Add and remove explicit keyword where needed 2020-08-28 09:16:18 +02:00
MSIHandler.h Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
PIC.cpp Meta+Kernel: Make clang-format-10 clean 2020-09-25 21:18:17 +02:00
PIC.h Interrupts: Simplify IRQ disabling & enabling in IRQController(s) 2020-03-24 16:15:33 +01:00
SharedIRQHandler.cpp Kernel: Fix counting interrupts 2020-12-02 23:19:59 +01:00
SharedIRQHandler.h Kernel: Use a const reference to RegisterState in IRQ handling 2020-03-19 15:48:00 +01:00
SpuriousInterruptHandler.cpp Kernel: Allow to install a real IRQ handler on a spurious one 2020-12-21 00:19:21 +01:00
SpuriousInterruptHandler.h Kernel: Allow to install a real IRQ handler on a spurious one 2020-12-21 00:19:21 +01:00
UnhandledInterruptHandler.cpp Kernel: Add SMP IPI support 2020-07-06 17:07:44 +02:00
UnhandledInterruptHandler.h Kernel: Annotate UnhandledInterruptHandler::eoi with [[noreturn]] 2020-05-16 09:51:31 +02:00