Get rid of boot services code after exiting boot services

このコミットが含まれているのは:
2022-12-20 23:06:32 +01:00
コミット 51886a05dd
2個のファイルの変更8行の追加0行の削除

ファイルの表示

@@ -149,6 +149,10 @@ BlEnablePaging(IN PLIST_ENTRY MemoryMappings,
BlDbgPrint(L"Exiting EFI boot services\n");
EfiSystemTable->BootServices->ExitBootServices(EfiImageHandle, MemoryMap->MapKey);
/* No runtime services should touch boot services code, so get rid of it all at this point */
EfiSystemTable->RuntimeServices->SetVirtualAddressMap(MemoryMap->MapSize, MemoryMap->DescriptorSize,
MemoryMap->DescriptorVersion, MemoryMap->Map);
/* Write PML4 to CR3 */
HlWriteCR3((UINT_PTR)*PtePointer);

ファイルの表示

@@ -255,6 +255,10 @@ BlEnablePaging(IN PLIST_ENTRY MemoryMappings,
BlDbgPrint(L"Exiting EFI boot services\n");
EfiSystemTable->BootServices->ExitBootServices(EfiImageHandle, MemoryMap->MapKey);
/* No runtime services should touch boot services code, so get rid of it all at this point */
EfiSystemTable->RuntimeServices->SetVirtualAddressMap(MemoryMap->MapSize, MemoryMap->DescriptorSize,
MemoryMap->DescriptorVersion, MemoryMap->Map);
/* Enable PAE if supported by CPU */
if(PaeExtension)
{