BL_APPLICATION_ENTRY BlpApplicationEntry;
BOOLEAN BlpLibraryParametersInitialized;
-/* temp */
-BL_TRANSLATION_TYPE MmTranslationType;
-
/* FUNCTIONS *****************************************************************/
/* HACKKKYYY */
)
{
NTSTATUS Status;
- //PBL_MEMORY_DATA MemoryData;
+ PBL_MEMORY_DATA MemoryData;
PBL_APPLICATION_ENTRY AppEntry;
PBL_FIRMWARE_DESCRIPTOR FirmwareDescriptor;
ULONG_PTR ParamPointer = (ULONG_PTR)BootAppParameters;
}
/* Get sub-structures */
- //MemoryData = (PBL_MEMORY_DATA)(ParamPointer + BootAppParameters->MemoryDataOffset);
+ MemoryData = (PBL_MEMORY_DATA)(ParamPointer + BootAppParameters->MemoryDataOffset);
FirmwareDescriptor = (PBL_FIRMWARE_DESCRIPTOR)(ParamPointer + BootAppParameters->FirmwareParametersOffset);
AppEntry = (PBL_APPLICATION_ENTRY)(ParamPointer + BootAppParameters->AppEntryOffset);
BlpBootDevice = (PBL_DEVICE_DESCRIPTOR)(ParamPointer + BootAppParameters->BootDeviceOffset);
goto Quickie;
}
+ /* Initialize the memory manager */
+ Status = BlpMmInitialize(MemoryData,
+ BootAppParameters->MemoryTranslationType,
+ LibraryParameters);
+ if (!NT_SUCCESS(Status))
+ {
+ EarlyPrint(L"MM init failed!\n");
+ goto Quickie;
+ }
+
EarlyPrint(L"TODO!\n");
Status = STATUS_NOT_IMPLEMENTED;
NTSTATUS Status;
/* Are we re-initializing the library? */
- if (LibraryParameters->LibraryFlags & 2)
+ if (LibraryParameters->LibraryFlags & BL_LIBRARY_FLAG_REINITIALIZE)
{
/* From scratch? */
BlpLibraryParameters = *LibraryParameters;
- if (LibraryParameters->LibraryFlags & 4)
+ if (LibraryParameters->LibraryFlags & BL_LIBRARY_FLAG_REINITIALIZE_ALL)
{
#if 0
/* Initialize all the core modules again */