#include #include #include #include #include #include #include #include #include #include #include #include #include namespace kapi::boot_modules { auto init() -> void { registry::init(); kstd::println("[x86_64:BOOT_MODULES] Registering boot modules."); auto modules = boot::bootstrap_information.mbi->modules(); std::ranges::for_each(modules, [](auto const & module) { registry::get().add(kapi::boot_modules::boot_module{ .name = module.string(), .start_address = memory::linear_address{module.start_address + std::bit_cast(&arch::boot::TEACHOS_VMA)}, .size = module.end_address - module.start_address, }); }); } } // namespace kapi::boot_modules