1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 19:17:41 +00:00

Interrupts: Make the MultiProcessorParser functional again

This commit is contained in:
Liav A 2020-04-09 20:48:57 +03:00 committed by Andreas Kling
parent a7c5a1fe69
commit fec8763c21
2 changed files with 4 additions and 5 deletions

View file

@ -40,8 +40,8 @@ bool MultiProcessorParser::is_initialized()
void MultiProcessorParser::initialize() void MultiProcessorParser::initialize()
{ {
if (!MultiProcessorParser::is_initialized()) ASSERT(!is_initialized());
s_parser = new MultiProcessorParser; s_parser = new MultiProcessorParser;
} }
MultiProcessorParser::MultiProcessorParser() MultiProcessorParser::MultiProcessorParser()
@ -181,7 +181,7 @@ Vector<unsigned> MultiProcessorParser::get_pci_bus_ids()
MultiProcessorParser& MultiProcessorParser::the() MultiProcessorParser& MultiProcessorParser::the()
{ {
ASSERT(!MultiProcessorParser::is_initialized()); ASSERT(is_initialized());
return *s_parser; return *s_parser;
} }

View file

@ -193,6 +193,7 @@ void InterruptManagement::switch_to_ioapic_mode()
APIC::init(); APIC::init();
APIC::enable_bsp(); APIC::enable_bsp();
MultiProcessorParser::initialize(); MultiProcessorParser::initialize();
locate_pci_interrupt_overrides();
} }
void InterruptManagement::locate_apic_data() void InterruptManagement::locate_apic_data()
@ -234,8 +235,6 @@ void InterruptManagement::locate_apic_data()
} }
void InterruptManagement::locate_pci_interrupt_overrides() void InterruptManagement::locate_pci_interrupt_overrides()
{ {
// FIXME: calling the MultiProcessorParser causes a pagefault.
ASSERT_NOT_REACHED();
m_pci_interrupt_overrides = MultiProcessorParser::the().get_pci_interrupt_redirections(); m_pci_interrupt_overrides = MultiProcessorParser::the().get_pci_interrupt_redirections();
} }