mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 03:17:35 +00:00
Kernel: Acquire ISA interrupt overrides from Interrupt Management
Also, InterruptDisabler were added to prevent critical function from being interrupted. In addition, the interrupt numbers are abstracted from IDT offsets, thus, allowing to create a better routing scheme when using IOAPICs for interrupt redirection.
This commit is contained in:
parent
d9d792d37f
commit
30fc78bfaf
5 changed files with 54 additions and 21 deletions
|
@ -41,7 +41,7 @@ class PCIInterruptOverrideMetadata;
|
|||
|
||||
class IOAPIC final : public IRQController {
|
||||
public:
|
||||
IOAPIC(ioapic_mmio_regs& regs, u32 gsi_base, Vector<RefPtr<ISAInterruptOverrideMetadata>>& overrides, Vector<RefPtr<PCIInterruptOverrideMetadata>>& pci_overrides);
|
||||
IOAPIC(ioapic_mmio_regs& regs, u32 gsi_base);
|
||||
virtual void enable(u8 number) override;
|
||||
virtual void disable(u8 number) override;
|
||||
virtual void hard_disable() override;
|
||||
|
@ -81,7 +81,5 @@ private:
|
|||
u8 m_id;
|
||||
u8 m_version;
|
||||
u32 m_redirection_entries;
|
||||
Vector<RefPtr<ISAInterruptOverrideMetadata>> m_isa_interrupt_overrides;
|
||||
Vector<RefPtr<PCIInterruptOverrideMetadata>> m_pci_interrupt_overrides;
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue