1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 03:17:35 +00:00

Kernel: Remove ref-counting from interrupt override metadata

I don't see a reason for these to be reference-counted, and removing it
simplifies a bunch of surrounding data structures.
This commit is contained in:
Andreas Kling 2020-05-08 21:07:04 +02:00
parent d87f875552
commit d92f62db43
6 changed files with 66 additions and 117 deletions

View file

@ -36,8 +36,26 @@ struct [[gnu::packed]] ioapic_mmio_regs
volatile u32 window;
};
class ISAInterruptOverrideMetadata;
class PCIInterruptOverrideMetadata;
class PCIInterruptOverrideMetadata {
public:
PCIInterruptOverrideMetadata(u8 bus_id, u8 polarity, u8 trigger_mode, u8 source_irq, u32 ioapic_id, u16 ioapic_int_pin);
u8 bus() const { return m_bus_id; }
u8 polarity() const { return m_polarity; }
u8 trigger_mode() const { return m_trigger_mode; }
u8 pci_interrupt_pin() const { return m_pci_interrupt_pin; }
u8 pci_device_number() const { return m_pci_device_number; }
u32 ioapic_id() const { return m_ioapic_id; }
u16 ioapic_interrupt_pin() const { return m_ioapic_interrupt_pin; }
private:
const u8 m_bus_id;
const u8 m_polarity;
const u8 m_trigger_mode;
const u8 m_pci_interrupt_pin;
const u8 m_pci_device_number;
const u32 m_ioapic_id;
const u16 m_ioapic_interrupt_pin;
};
class IOAPIC final : public IRQController {
public: