forked from xt-sys/exectos
Retry exiting boot services if first try fails
This commit is contained in:
parent
146a331c80
commit
ec63fe3fa6
@ -119,6 +119,14 @@ BlEnablePaging(IN PLIST_ENTRY MemoryMappings,
|
|||||||
Status = EfiSystemTable->BootServices->ExitBootServices(EfiImageHandle, MemoryMap->MapKey);
|
Status = EfiSystemTable->BootServices->ExitBootServices(EfiImageHandle, MemoryMap->MapKey);
|
||||||
if(Status != STATUS_EFI_SUCCESS)
|
if(Status != STATUS_EFI_SUCCESS)
|
||||||
{
|
{
|
||||||
|
/* Retry as UEFI spec says to do it twice */
|
||||||
|
Status = EfiSystemTable->BootServices->ExitBootServices(EfiImageHandle, MemoryMap->MapKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check if exitted boot services successfully */
|
||||||
|
if(Status != STATUS_EFI_SUCCESS)
|
||||||
|
{
|
||||||
|
/* Failed to exit boot services */
|
||||||
BlDbgPrint(L"Failed to exit boot services (Status code: %lx)\n", Status);
|
BlDbgPrint(L"Failed to exit boot services (Status code: %lx)\n", Status);
|
||||||
return STATUS_EFI_ABORTED;
|
return STATUS_EFI_ABORTED;
|
||||||
}
|
}
|
||||||
|
@ -216,6 +216,14 @@ BlEnablePaging(IN PLIST_ENTRY MemoryMappings,
|
|||||||
Status = EfiSystemTable->BootServices->ExitBootServices(EfiImageHandle, MemoryMap->MapKey);
|
Status = EfiSystemTable->BootServices->ExitBootServices(EfiImageHandle, MemoryMap->MapKey);
|
||||||
if(Status != STATUS_EFI_SUCCESS)
|
if(Status != STATUS_EFI_SUCCESS)
|
||||||
{
|
{
|
||||||
|
/* Retry as UEFI spec says to do it twice */
|
||||||
|
Status = EfiSystemTable->BootServices->ExitBootServices(EfiImageHandle, MemoryMap->MapKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check if exitted boot services successfully */
|
||||||
|
if(Status != STATUS_EFI_SUCCESS)
|
||||||
|
{
|
||||||
|
/* Failed to exit boot services */
|
||||||
BlDbgPrint(L"Failed to exit boot services (Status code: %lx)\n", Status);
|
BlDbgPrint(L"Failed to exit boot services (Status code: %lx)\n", Status);
|
||||||
return STATUS_EFI_ABORTED;
|
return STATUS_EFI_ABORTED;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user