[BOOT] Execution contexts and more refactoring
This commit is contained in:
@@ -24,6 +24,7 @@ Abstract:
|
||||
sizeof(BOOT_RETURN_DATA) \
|
||||
)
|
||||
|
||||
ULONG BlPlatformFlags = 0x002a0000 | FIRMWARE_FLAG_EXECUTION_CONTEXT_SUPPORTED;
|
||||
PBOOT_DEVICE BlpBootDevice;
|
||||
PBOOT_APPLICATION_PARAMETERS BlpApplicationParameters;
|
||||
BOOT_LIBRARY_PARAMETERS BlpLibraryParameters;
|
||||
@@ -59,8 +60,6 @@ Return Value:
|
||||
PBOOT_INIT_APPLICATION_ENTRY ApplicationEntry;
|
||||
PBOOT_FIRMWARE_DATA FirmwareData;
|
||||
|
||||
(VOID)LibraryParameters;
|
||||
|
||||
if (ApplicationParameters == NULL ||
|
||||
ApplicationParameters->Signature != BOOT_APPLICATION_PARAMETERS_SIGNATURE ||
|
||||
ApplicationParameters->Size < MIN_INPUT_PARAMETERS_SIZE) {
|
||||
@@ -84,7 +83,6 @@ Return Value:
|
||||
|
||||
ConsolePrint(L"> Alcyone EFI Boot Manager\r\n");
|
||||
ConsolePrintf(L"Image base: %x %x\r\nImage size: %x\r\n", HIDWORD((ULONG_PTR)ApplicationParameters->ImageBase), LODWORD((ULONG_PTR)ApplicationParameters->ImageBase), ApplicationParameters->ImageSize);
|
||||
DebugPrint(L"Initializing boot library...\r\n");
|
||||
|
||||
if (ApplicationEntry->Signature != BOOT_INIT_APPLICATION_ENTRY_SIGNATURE) {
|
||||
DebugPrint(L"InitializeLibrary(): ApplicationEntry Signature is invalid\r\n");
|
||||
@@ -104,6 +102,11 @@ Return Value:
|
||||
RtlCopyMemory(&BlpApplicationEntry.BcdIdentifier, &ApplicationEntry->BcdIdentifier, sizeof(GUID));
|
||||
BlpApplicationEntry.Options = &ApplicationEntry->Options;
|
||||
|
||||
Status = BlpArchInitialize(0);
|
||||
if (!NT_SUCCESS(Status)) {
|
||||
return Status;
|
||||
}
|
||||
|
||||
Status = BlpMmInitialize(MemoryInfo, ApplicationParameters->TranslationType, LibraryParameters);
|
||||
if (!NT_SUCCESS(Status)) {
|
||||
return Status;
|
||||
|
Reference in New Issue
Block a user