Finish moving global variables into classes
All checks were successful
Builds / ExectOS (amd64, debug) (push) Successful in 34s
Builds / ExectOS (amd64, release) (push) Successful in 33s
Builds / ExectOS (i686, debug) (push) Successful in 29s
Builds / ExectOS (i686, release) (push) Successful in 27s

This commit is contained in:
2025-09-22 09:56:58 +02:00
parent 7791ca13e2
commit ed293c7e61
15 changed files with 275 additions and 719 deletions

View File

@@ -32,6 +32,8 @@ Memory::BuildPageMap(IN PXTBL_PAGE_MAPPING PageMap,
PXTBL_MEMORY_MAPPING Mapping;
PXTBL_MODULE_INFO ModuleInfo;
EFI_PHYSICAL_ADDRESS Address;
PVOID LoaderBase;
ULONGLONG LoaderSize;
EFI_STATUS Status;
/* Allocate pages for the Page Map */
@@ -86,12 +88,15 @@ Memory::BuildPageMap(IN PXTBL_PAGE_MAPPING PageMap,
ModulesListEntry = ModulesListEntry->Flink;
}
/* Get boot loader image information */
XtLoader::GetLoaderImageInformation(&LoaderBase, &LoaderSize);
/* Make sure boot loader image base and size are set */
if(BlpStatus.LoaderBase && BlpStatus.LoaderSize)
if(LoaderBase && LoaderSize)
{
/* Map boot loader code as well */
Status = MapVirtualMemory(PageMap, BlpStatus.LoaderBase, BlpStatus.LoaderBase,
EFI_SIZE_TO_PAGES(BlpStatus.LoaderSize), LoaderFirmwareTemporary);
Status = MapVirtualMemory(PageMap, LoaderBase, LoaderBase,
EFI_SIZE_TO_PAGES(LoaderSize), LoaderFirmwareTemporary);
if(Status != STATUS_EFI_SUCCESS)
{
/* Mapping boot loader code failed */