1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 09:38:11 +00:00

Kernel: Simplify scanning BIOS/EBDA and MP parser initialization

Add a MappedROM::find_chunk_starting_with() helper since that's a very
common usage pattern in clients of this code.

Also convert MultiProcessorParser from a persistent singleton object
to a temporary object constructed via a failable factory function.
This commit is contained in:
Andreas Kling 2020-05-22 13:34:53 +02:00
parent 84b7bc5e14
commit 4b847810bf
8 changed files with 47 additions and 101 deletions

View file

@ -54,13 +54,13 @@ void initialize()
return;
auto rsdp = StaticParsing::find_rsdp();
if (rsdp.is_null())
if (!rsdp.has_value())
return;
if (feature_level == FeatureLevel::Enabled)
Parser::initialize<DynamicParser>(rsdp);
Parser::initialize<DynamicParser>(rsdp.value());
else
Parser::initialize<Parser>(rsdp);
Parser::initialize<Parser>(rsdp.value());
}
bool is_enabled()