Kernel: PCI can now get interrupts for devices

This commit is contained in:
2023-10-11 22:18:58 +03:00
parent f27974dd3c
commit 89c975350d
3 changed files with 71 additions and 12 deletions

View File

@@ -35,6 +35,8 @@ namespace Kernel
static void initialize(bool force_pic);
static InterruptController& get();
bool is_using_apic() const { return m_using_apic; }
void enter_acpi_mode();
private:

View File

@@ -75,6 +75,8 @@ namespace Kernel::PCI
uint8_t header_type() const { return m_header_type; }
BAN::ErrorOr<uint8_t> get_irq();
BAN::ErrorOr<BAN::UniqPtr<BarRegion>> allocate_bar_region(uint8_t bar_num);
void enable_bus_mastering();
@@ -105,6 +107,9 @@ namespace Kernel::PCI
uint8_t m_prog_if;
uint8_t m_header_type;
BAN::Optional<uint8_t> m_offset_msi;
BAN::Optional<uint8_t> m_offset_msi_x;
};
class PCIManager