#include "HwErrRecSupport.h"\r
#include <Library/VariablePolicyHelperLib.h>\r
\r
-#define SET_BOOT_OPTION_SUPPORT_KEY_COUNT(a, c) { \\r
+#define SET_BOOT_OPTION_SUPPORT_KEY_COUNT(a, c) { \\r
(a) = ((a) & ~EFI_BOOT_OPTION_SUPPORT_COUNT) | (((c) << LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT)) & EFI_BOOT_OPTION_SUPPORT_COUNT); \\r
}\r
\r
//\r
// gConnectConInEvent - Event which is signaled when ConIn connection is required\r
//\r
-EFI_EVENT gConnectConInEvent = NULL;\r
+EFI_EVENT gConnectConInEvent = NULL;\r
\r
///\r
/// The read-only variables defined in UEFI Spec.\r
EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME,\r
EFI_HW_ERR_REC_SUPPORT_VARIABLE_NAME,\r
EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME\r
- };\r
+};\r
\r
-CHAR16 *mBdsLoadOptionName[] = {\r
+CHAR16 *mBdsLoadOptionName[] = {\r
L"Driver",\r
L"SysPrep",\r
L"Boot",\r
VOID\r
EFIAPI\r
BdsDxeOnConnectConInCallBack (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// When Osloader call ReadKeyStroke to signal this event\r
DEBUG ((DEBUG_WARN, "[Bds] Connect ConIn failed - %r!!!\n", Status));\r
}\r
}\r
+\r
/**\r
Notify function for event group EFI_EVENT_GROUP_READY_TO_BOOT. This is used to\r
check whether there is remaining deferred load images.\r
VOID\r
EFIAPI\r
CheckDeferredLoadImageOnReadyToBoot (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_DEFERRED_IMAGE_LOAD_PROTOCOL *DeferredImage;\r
- UINTN HandleCount;\r
- EFI_HANDLE *Handles;\r
- UINTN Index;\r
- UINTN ImageIndex;\r
- EFI_DEVICE_PATH_PROTOCOL *ImageDevicePath;\r
- VOID *Image;\r
- UINTN ImageSize;\r
- BOOLEAN BootOption;\r
- CHAR16 *DevicePathStr;\r
+ EFI_STATUS Status;\r
+ EFI_DEFERRED_IMAGE_LOAD_PROTOCOL *DeferredImage;\r
+ UINTN HandleCount;\r
+ EFI_HANDLE *Handles;\r
+ UINTN Index;\r
+ UINTN ImageIndex;\r
+ EFI_DEVICE_PATH_PROTOCOL *ImageDevicePath;\r
+ VOID *Image;\r
+ UINTN ImageSize;\r
+ BOOLEAN BootOption;\r
+ CHAR16 *DevicePathStr;\r
\r
//\r
// Find all the deferred image load protocols.\r
//\r
HandleCount = 0;\r
- Handles = NULL;\r
- Status = gBS->LocateHandleBuffer (\r
- ByProtocol,\r
- &gEfiDeferredImageLoadProtocolGuid,\r
- NULL,\r
- &HandleCount,\r
- &Handles\r
- );\r
+ Handles = NULL;\r
+ Status = gBS->LocateHandleBuffer (\r
+ ByProtocol,\r
+ &gEfiDeferredImageLoadProtocolGuid,\r
+ NULL,\r
+ &HandleCount,\r
+ &Handles\r
+ );\r
if (EFI_ERROR (Status)) {\r
return;\r
}\r
\r
for (Index = 0; Index < HandleCount; Index++) {\r
- Status = gBS->HandleProtocol (Handles[Index], &gEfiDeferredImageLoadProtocolGuid, (VOID **) &DeferredImage);\r
+ Status = gBS->HandleProtocol (Handles[Index], &gEfiDeferredImageLoadProtocolGuid, (VOID **)&DeferredImage);\r
if (EFI_ERROR (Status)) {\r
continue;\r
}\r
// Load all the deferred images in this protocol instance.\r
//\r
Status = DeferredImage->GetImageInfo (\r
- DeferredImage,\r
- ImageIndex,\r
- &ImageDevicePath,\r
- (VOID **) &Image,\r
- &ImageSize,\r
- &BootOption\r
- );\r
+ DeferredImage,\r
+ ImageIndex,\r
+ &ImageDevicePath,\r
+ (VOID **)&Image,\r
+ &ImageSize,\r
+ &BootOption\r
+ );\r
if (EFI_ERROR (Status)) {\r
break;\r
}\r
+\r
DevicePathStr = ConvertDevicePathToText (ImageDevicePath, FALSE, FALSE);\r
DEBUG ((DEBUG_LOAD, "[Bds] Image was deferred but not loaded: %s.\n", DevicePathStr));\r
if (DevicePathStr != NULL) {\r
}\r
}\r
}\r
+\r
if (Handles != NULL) {\r
FreePool (Handles);\r
}\r
EFI_STATUS\r
EFIAPI\r
BdsInitialize (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
EFI_STATUS Status;\r
EFI_HANDLE Handle;\r
+\r
//\r
// Install protocol interface\r
//\r
Handle = NULL;\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
&Handle,\r
- &gEfiBdsArchProtocolGuid, &gBds,\r
+ &gEfiBdsArchProtocolGuid,\r
+ &gBds,\r
NULL\r
);\r
ASSERT_EFI_ERROR (Status);\r
&Event\r
);\r
ASSERT_EFI_ERROR (Status);\r
- );\r
+ );\r
return Status;\r
}\r
\r
**/\r
EFI_STATUS\r
BdsWaitForSingleEvent (\r
- IN EFI_EVENT Event,\r
- IN UINT64 Timeout OPTIONAL\r
+ IN EFI_EVENT Event,\r
+ IN UINT64 Timeout OPTIONAL\r
)\r
{\r
UINTN Index;\r
VOID\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_INPUT_KEY Key;\r
+ EFI_STATUS Status;\r
+ EFI_INPUT_KEY Key;\r
\r
if (PcdGetBool (PcdConInConnectOnDemand)) {\r
return;\r
}\r
\r
while (gST->ConIn != NULL) {\r
-\r
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);\r
\r
if (EFI_ERROR (Status)) {\r
**/\r
VOID\r
BdsWait (\r
- IN EFI_EVENT HotkeyTriggered\r
+ IN EFI_EVENT HotkeyTriggered\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT16 TimeoutRemain;\r
+ EFI_STATUS Status;\r
+ UINT16 TimeoutRemain;\r
\r
DEBUG ((DEBUG_INFO, "[Bds]BdsWait ...Zzzzzzzzzzzz...\n"));\r
\r
TimeoutRemain = PcdGet16 (PcdPlatformBootTimeOut);\r
while (TimeoutRemain != 0) {\r
- DEBUG ((DEBUG_INFO, "[Bds]BdsWait(%d)..Zzzz...\n", (UINTN) TimeoutRemain));\r
+ DEBUG ((DEBUG_INFO, "[Bds]BdsWait(%d)..Zzzz...\n", (UINTN)TimeoutRemain));\r
PlatformBootManagerWaitCallback (TimeoutRemain);\r
\r
BdsReadKeys (); // BUGBUG: Only reading can signal HotkeyTriggered\r
// Note that the (TimeoutRemain == 0) condition excludes\r
// PcdPlatformBootTimeOut=0xFFFF, and that's deliberate.\r
//\r
- if (PcdGet16 (PcdPlatformBootTimeOut) != 0 && TimeoutRemain == 0) {\r
+ if ((PcdGet16 (PcdPlatformBootTimeOut) != 0) && (TimeoutRemain == 0)) {\r
PlatformBootManagerWaitCallback (0);\r
}\r
+\r
DEBUG ((DEBUG_INFO, "[Bds]Exit the waiting!\n"));\r
}\r
\r
**/\r
BOOLEAN\r
BootBootOptions (\r
- IN EFI_BOOT_MANAGER_LOAD_OPTION *BootOptions,\r
- IN UINTN BootOptionCount,\r
- IN EFI_BOOT_MANAGER_LOAD_OPTION *BootManagerMenu OPTIONAL\r
+ IN EFI_BOOT_MANAGER_LOAD_OPTION *BootOptions,\r
+ IN UINTN BootOptionCount,\r
+ IN EFI_BOOT_MANAGER_LOAD_OPTION *BootManagerMenu OPTIONAL\r
)\r
{\r
- UINTN Index;\r
+ UINTN Index;\r
\r
//\r
// Report Status Code to indicate BDS starts attempting booting from the UEFI BootOrder list.\r
}\r
}\r
\r
- return (BOOLEAN) (Index < BootOptionCount);\r
+ return (BOOLEAN)(Index < BootOptionCount);\r
}\r
\r
/**\r
**/\r
VOID\r
ProcessLoadOptions (\r
- IN EFI_BOOT_MANAGER_LOAD_OPTION *LoadOptions,\r
- IN UINTN LoadOptionCount\r
+ IN EFI_BOOT_MANAGER_LOAD_OPTION *LoadOptions,\r
+ IN UINTN LoadOptionCount\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN Index;\r
- BOOLEAN ReconnectAll;\r
- EFI_BOOT_MANAGER_LOAD_OPTION_TYPE LoadOptionType;\r
+ EFI_STATUS Status;\r
+ UINTN Index;\r
+ BOOLEAN ReconnectAll;\r
+ EFI_BOOT_MANAGER_LOAD_OPTION_TYPE LoadOptionType;\r
\r
ReconnectAll = FALSE;\r
LoadOptionType = LoadOptionTypeMax;\r
if (Index == 0) {\r
LoadOptionType = LoadOptions[Index].OptionType;\r
}\r
+\r
ASSERT (LoadOptionType == LoadOptions[Index].OptionType);\r
ASSERT (LoadOptionType != LoadOptionTypeBoot);\r
\r
// Stop processing if any PlatformRecovery#### returns success.\r
//\r
if ((LoadOptions[Index].Status == EFI_SUCCESS) &&\r
- (LoadOptionType == LoadOptionTypePlatformRecovery)) {\r
+ (LoadOptionType == LoadOptionTypePlatformRecovery))\r
+ {\r
break;\r
}\r
\r
// Only set ReconnectAll flag when the load option executes successfully.\r
//\r
if (!EFI_ERROR (LoadOptions[Index].Status) &&\r
- (LoadOptions[Index].Attributes & LOAD_OPTION_FORCE_RECONNECT) != 0) {\r
+ ((LoadOptions[Index].Attributes & LOAD_OPTION_FORCE_RECONNECT) != 0))\r
+ {\r
ReconnectAll = TRUE;\r
}\r
}\r
// then all of the EFI drivers in the system will be disconnected and\r
// reconnected after the last driver load option is processed.\r
//\r
- if (ReconnectAll && LoadOptionType == LoadOptionTypeDriver) {\r
+ if (ReconnectAll && (LoadOptionType == LoadOptionTypeDriver)) {\r
EfiBootManagerDisconnectAll ();\r
EfiBootManagerConnectAll ();\r
}\r
**/\r
VOID\r
BdsFormalizeConsoleVariable (\r
- IN CHAR16 *VariableName\r
+ IN CHAR16 *VariableName\r
)\r
{\r
EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
UINTN VariableSize;\r
EFI_STATUS Status;\r
\r
- GetEfiGlobalVariable2 (VariableName, (VOID **) &DevicePath, &VariableSize);\r
+ GetEfiGlobalVariable2 (VariableName, (VOID **)&DevicePath, &VariableSize);\r
if ((DevicePath != NULL) && !IsDevicePathValid (DevicePath, VariableSize)) {\r
Status = gRT->SetVariable (\r
VariableName,\r
VOID\r
)\r
{\r
- EFI_STATUS Status;\r
- UINT64 OsIndicationSupport;\r
- UINT64 OsIndication;\r
- UINTN DataSize;\r
- UINT32 Attributes;\r
- EFI_BOOT_MANAGER_LOAD_OPTION BootManagerMenu;\r
+ EFI_STATUS Status;\r
+ UINT64 OsIndicationSupport;\r
+ UINT64 OsIndication;\r
+ UINTN DataSize;\r
+ UINT32 Attributes;\r
+ EFI_BOOT_MANAGER_LOAD_OPTION BootManagerMenu;\r
\r
//\r
// OS indicater support variable\r
OsIndicationSupport |= EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY;\r
}\r
\r
- if (PcdGetBool(PcdCapsuleOnDiskSupport)) {\r
+ if (PcdGetBool (PcdCapsuleOnDiskSupport)) {\r
OsIndicationSupport |= EFI_OS_INDICATIONS_FILE_CAPSULE_DELIVERY_SUPPORTED;\r
}\r
\r
EFI_OS_INDICATIONS_SUPPORT_VARIABLE_NAME,\r
&gEfiGlobalVariableGuid,\r
EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
- sizeof(UINT64),\r
+ sizeof (UINT64),\r
&OsIndicationSupport\r
);\r
//\r
// 3. OsIndication attribute inconsistence\r
//\r
OsIndication = 0;\r
- Attributes = 0;\r
- DataSize = sizeof(UINT64);\r
- Status = gRT->GetVariable (\r
- EFI_OS_INDICATIONS_VARIABLE_NAME,\r
- &gEfiGlobalVariableGuid,\r
- &Attributes,\r
- &DataSize,\r
- &OsIndication\r
- );\r
+ Attributes = 0;\r
+ DataSize = sizeof (UINT64);\r
+ Status = gRT->GetVariable (\r
+ EFI_OS_INDICATIONS_VARIABLE_NAME,\r
+ &gEfiGlobalVariableGuid,\r
+ &Attributes,\r
+ &DataSize,\r
+ &OsIndication\r
+ );\r
if (Status == EFI_NOT_FOUND) {\r
return;\r
}\r
if ((DataSize != sizeof (OsIndication)) ||\r
((OsIndication & ~OsIndicationSupport) != 0) ||\r
(Attributes != (EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE))\r
- ){\r
-\r
+ )\r
+ {\r
DEBUG ((DEBUG_ERROR, "[Bds] Unformalized OsIndications variable exists. Delete it\n"));\r
Status = gRT->SetVariable (\r
EFI_OS_INDICATIONS_VARIABLE_NAME,\r
//\r
// Deleting variable with current variable implementation shouldn't fail.\r
//\r
- ASSERT_EFI_ERROR(Status);\r
+ ASSERT_EFI_ERROR (Status);\r
}\r
}\r
\r
//\r
// Insert the performance probe\r
//\r
- PERF_CROSSMODULE_END("DXE");\r
- PERF_CROSSMODULE_BEGIN("BDS");\r
+ PERF_CROSSMODULE_END ("DXE");\r
+ PERF_CROSSMODULE_BEGIN ("BDS");\r
DEBUG ((DEBUG_INFO, "[Bds] Entry...\n"));\r
\r
//\r
// Fill in FirmwareVendor and FirmwareRevision from PCDs\r
//\r
- FirmwareVendor = (CHAR16 *) PcdGetPtr (PcdFirmwareVendor);\r
+ FirmwareVendor = (CHAR16 *)PcdGetPtr (PcdFirmwareVendor);\r
gST->FirmwareVendor = AllocateRuntimeCopyPool (StrSize (FirmwareVendor), FirmwareVendor);\r
ASSERT (gST->FirmwareVendor != NULL);\r
gST->FirmwareRevision = PcdGet32 (PcdFirmwareRevision);\r
// Fixup Tasble CRC after we updated Firmware Vendor and Revision\r
//\r
gST->Hdr.CRC32 = 0;\r
- gBS->CalculateCrc32 ((VOID *) gST, sizeof (EFI_SYSTEM_TABLE), &gST->Hdr.CRC32);\r
+ gBS->CalculateCrc32 ((VOID *)gST, sizeof (EFI_SYSTEM_TABLE), &gST->Hdr.CRC32);\r
\r
//\r
// Validate Variable.\r
//\r
// Mark the read-only variables if the Variable Lock protocol exists\r
//\r
- Status = gBS->LocateProtocol(&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID**)&VariablePolicy);\r
- DEBUG((DEBUG_INFO, "[BdsDxe] Locate Variable Policy protocol - %r\n", Status));\r
+ Status = gBS->LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID **)&VariablePolicy);\r
+ DEBUG ((DEBUG_INFO, "[BdsDxe] Locate Variable Policy protocol - %r\n", Status));\r
if (!EFI_ERROR (Status)) {\r
for (Index = 0; Index < ARRAY_SIZE (mReadOnlyVariables); Index++) {\r
- Status = RegisterBasicVariablePolicy(\r
+ Status = RegisterBasicVariablePolicy (\r
VariablePolicy,\r
&gEfiGlobalVariableGuid,\r
mReadOnlyVariables[Index],\r
VARIABLE_POLICY_NO_CANT_ATTR,\r
VARIABLE_POLICY_TYPE_LOCK_NOW\r
);\r
- ASSERT_EFI_ERROR(Status);\r
+ ASSERT_EFI_ERROR (Status);\r
}\r
}\r
\r
BootOptionSupport |= EFI_BOOT_OPTION_SUPPORT_KEY;\r
SET_BOOT_OPTION_SUPPORT_KEY_COUNT (BootOptionSupport, 3);\r
}\r
+\r
Status = gRT->SetVariable (\r
EFI_BOOT_OPTION_SUPPORT_VARIABLE_NAME,\r
&gEfiGlobalVariableGuid,\r
// Cache the "BootNext" NV variable before calling any PlatformBootManagerLib APIs\r
// This could avoid the "BootNext" set by PlatformBootManagerLib be consumed in this boot.\r
//\r
- GetEfiGlobalVariable2 (EFI_BOOT_NEXT_VARIABLE_NAME, (VOID **) &BootNext, &DataSize);\r
+ GetEfiGlobalVariable2 (EFI_BOOT_NEXT_VARIABLE_NAME, (VOID **)&BootNext, &DataSize);\r
if (DataSize != sizeof (UINT16)) {\r
if (BootNext != NULL) {\r
FreePool (BootNext);\r
}\r
+\r
BootNext = NULL;\r
}\r
\r
DEBUG ((DEBUG_ERROR, "Fail to allocate memory for default boot file path. Unable to boot.\n"));\r
CpuDeadLoop ();\r
}\r
+\r
Status = EfiBootManagerInitializeLoadOption (\r
&PlatformDefaultBootOption,\r
LoadOptionNumberUnassigned,\r
break;\r
}\r
}\r
+\r
PlatformDefaultBootOption.OptionNumber = Index;\r
- Status = EfiBootManagerLoadOptionToVariable (&PlatformDefaultBootOption);\r
+ Status = EfiBootManagerLoadOptionToVariable (&PlatformDefaultBootOption);\r
ASSERT_EFI_ERROR (Status);\r
}\r
+\r
EfiBootManagerFreeLoadOptions (LoadOptions, LoadOptionCount);\r
}\r
+\r
FreePool (FilePath);\r
\r
//\r
// > Signal ReadyToLock event\r
// > Authentication action: 1. connect Auth devices; 2. Identify auto logon user.\r
//\r
- PERF_INMODULE_BEGIN("PlatformBootManagerBeforeConsole");\r
+ PERF_INMODULE_BEGIN ("PlatformBootManagerBeforeConsole");\r
PlatformBootManagerBeforeConsole ();\r
- PERF_INMODULE_END("PlatformBootManagerBeforeConsole");\r
+ PERF_INMODULE_END ("PlatformBootManagerBeforeConsole");\r
\r
//\r
// Initialize hotkey service\r
//\r
// Connect consoles\r
//\r
- PERF_INMODULE_BEGIN("EfiBootManagerConnectAllDefaultConsoles");\r
+ PERF_INMODULE_BEGIN ("EfiBootManagerConnectAllDefaultConsoles");\r
if (PcdGetBool (PcdConInConnectOnDemand)) {\r
EfiBootManagerConnectConsoleVariable (ConOut);\r
EfiBootManagerConnectConsoleVariable (ErrOut);\r
} else {\r
EfiBootManagerConnectAllDefaultConsoles ();\r
}\r
- PERF_INMODULE_END("EfiBootManagerConnectAllDefaultConsoles");\r
+\r
+ PERF_INMODULE_END ("EfiBootManagerConnectAllDefaultConsoles");\r
\r
//\r
// Do the platform specific action after the console is ready\r
// > Dispatch aditional option roms\r
// > Special boot: e.g.: USB boot, enter UI\r
//\r
- PERF_INMODULE_BEGIN("PlatformBootManagerAfterConsole");\r
+ PERF_INMODULE_BEGIN ("PlatformBootManagerAfterConsole");\r
PlatformBootManagerAfterConsole ();\r
- PERF_INMODULE_END("PlatformBootManagerAfterConsole");\r
+ PERF_INMODULE_END ("PlatformBootManagerAfterConsole");\r
\r
//\r
// If any component set PcdTestKeyUsed to TRUE because use of a test key\r
// Boot to Boot Manager Menu when EFI_OS_INDICATIONS_BOOT_TO_FW_UI is set. Skip HotkeyBoot\r
//\r
DataSize = sizeof (UINT64);\r
- Status = gRT->GetVariable (\r
- EFI_OS_INDICATIONS_VARIABLE_NAME,\r
- &gEfiGlobalVariableGuid,\r
- NULL,\r
- &DataSize,\r
- &OsIndication\r
- );\r
+ Status = gRT->GetVariable (\r
+ EFI_OS_INDICATIONS_VARIABLE_NAME,\r
+ &gEfiGlobalVariableGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &OsIndication\r
+ );\r
if (EFI_ERROR (Status)) {\r
OsIndication = 0;\r
}\r
\r
DEBUG_CODE_BEGIN ();\r
- EFI_BOOT_MANAGER_LOAD_OPTION_TYPE LoadOptionType;\r
- DEBUG ((DEBUG_INFO, "[Bds]OsIndication: %016x\n", OsIndication));\r
- DEBUG ((DEBUG_INFO, "[Bds]=============Begin Load Options Dumping ...=============\n"));\r
- for (LoadOptionType = 0; LoadOptionType < LoadOptionTypeMax; LoadOptionType++) {\r
+ EFI_BOOT_MANAGER_LOAD_OPTION_TYPE LoadOptionType;\r
+\r
+ DEBUG ((DEBUG_INFO, "[Bds]OsIndication: %016x\n", OsIndication));\r
+ DEBUG ((DEBUG_INFO, "[Bds]=============Begin Load Options Dumping ...=============\n"));\r
+ for (LoadOptionType = 0; LoadOptionType < LoadOptionTypeMax; LoadOptionType++) {\r
+ DEBUG ((\r
+ DEBUG_INFO,\r
+ " %s Options:\n",\r
+ mBdsLoadOptionName[LoadOptionType]\r
+ ));\r
+ LoadOptions = EfiBootManagerGetLoadOptions (&LoadOptionCount, LoadOptionType);\r
+ for (Index = 0; Index < LoadOptionCount; Index++) {\r
DEBUG ((\r
- DEBUG_INFO, " %s Options:\n",\r
- mBdsLoadOptionName[LoadOptionType]\r
+ DEBUG_INFO,\r
+ " %s%04x: %s \t\t 0x%04x\n",\r
+ mBdsLoadOptionName[LoadOptionType],\r
+ LoadOptions[Index].OptionNumber,\r
+ LoadOptions[Index].Description,\r
+ LoadOptions[Index].Attributes\r
));\r
- LoadOptions = EfiBootManagerGetLoadOptions (&LoadOptionCount, LoadOptionType);\r
- for (Index = 0; Index < LoadOptionCount; Index++) {\r
- DEBUG ((\r
- DEBUG_INFO, " %s%04x: %s \t\t 0x%04x\n",\r
- mBdsLoadOptionName[LoadOptionType],\r
- LoadOptions[Index].OptionNumber,\r
- LoadOptions[Index].Description,\r
- LoadOptions[Index].Attributes\r
- ));\r
- }\r
- EfiBootManagerFreeLoadOptions (LoadOptions, LoadOptionCount);\r
}\r
- DEBUG ((DEBUG_INFO, "[Bds]=============End Load Options Dumping=============\n"));\r
+\r
+ EfiBootManagerFreeLoadOptions (LoadOptions, LoadOptionCount);\r
+ }\r
+\r
+ DEBUG ((DEBUG_INFO, "[Bds]=============End Load Options Dumping=============\n"));\r
DEBUG_CODE_END ();\r
\r
//\r
//\r
BootManagerMenuStatus = EfiBootManagerGetBootManagerMenu (&BootManagerMenu);\r
\r
- BootFwUi = (BOOLEAN) ((OsIndication & EFI_OS_INDICATIONS_BOOT_TO_FW_UI) != 0);\r
- PlatformRecovery = (BOOLEAN) ((OsIndication & EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY) != 0);\r
+ BootFwUi = (BOOLEAN)((OsIndication & EFI_OS_INDICATIONS_BOOT_TO_FW_UI) != 0);\r
+ PlatformRecovery = (BOOLEAN)((OsIndication & EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY) != 0);\r
//\r
// Clear EFI_OS_INDICATIONS_BOOT_TO_FW_UI to acknowledge OS\r
//\r
if (BootFwUi || PlatformRecovery) {\r
- OsIndication &= ~((UINT64) (EFI_OS_INDICATIONS_BOOT_TO_FW_UI | EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY));\r
- Status = gRT->SetVariable (\r
- EFI_OS_INDICATIONS_VARIABLE_NAME,\r
- &gEfiGlobalVariableGuid,\r
- EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
- sizeof(UINT64),\r
- &OsIndication\r
- );\r
+ OsIndication &= ~((UINT64)(EFI_OS_INDICATIONS_BOOT_TO_FW_UI | EFI_OS_INDICATIONS_START_PLATFORM_RECOVERY));\r
+ Status = gRT->SetVariable (\r
+ EFI_OS_INDICATIONS_VARIABLE_NAME,\r
+ &gEfiGlobalVariableGuid,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
+ sizeof (UINT64),\r
+ &OsIndication\r
+ );\r
//\r
// Changing the content without increasing its size with current variable implementation shouldn't fail.\r
//\r
EfiBootManagerFreeLoadOption (&LoadOption);\r
if ((LoadOption.Status == EFI_SUCCESS) &&\r
(BootManagerMenuStatus != EFI_NOT_FOUND) &&\r
- (LoadOption.OptionNumber != BootManagerMenu.OptionNumber)) {\r
+ (LoadOption.OptionNumber != BootManagerMenu.OptionNumber))\r
+ {\r
//\r
// Boot to Boot Manager Menu upon EFI_SUCCESS\r
// Exception: Do not boot again when the BootNext points to Boot Manager Menu.\r
EfiBootManagerProcessLoadOption (&PlatformDefaultBootOption);\r
}\r
}\r
+\r
EfiBootManagerFreeLoadOption (&PlatformDefaultBootOption);\r
\r
DEBUG ((DEBUG_ERROR, "[Bds] Unable to boot!\n"));\r
**/\r
EFI_STATUS\r
BdsDxeSetVariableAndReportStatusCodeOnError (\r
- IN CHAR16 *VariableName,\r
- IN EFI_GUID *VendorGuid,\r
- IN UINT32 Attributes,\r
- IN UINTN DataSize,\r
- IN VOID *Data\r
+ IN CHAR16 *VariableName,\r
+ IN EFI_GUID *VendorGuid,\r
+ IN UINT32 Attributes,\r
+ IN UINTN DataSize,\r
+ IN VOID *Data\r
)\r
{\r
EFI_STATUS Status;\r
Data\r
);\r
if (EFI_ERROR (Status)) {\r
- NameSize = StrSize (VariableName);\r
+ NameSize = StrSize (VariableName);\r
SetVariableStatus = AllocatePool (sizeof (EDKII_SET_VARIABLE_STATUS) + NameSize + DataSize);\r
if (SetVariableStatus != NULL) {\r
CopyGuid (&SetVariableStatus->Guid, VendorGuid);\r
SetVariableStatus->DataSize = DataSize;\r
SetVariableStatus->SetStatus = Status;\r
SetVariableStatus->Attributes = Attributes;\r
- CopyMem (SetVariableStatus + 1, VariableName, NameSize);\r
- CopyMem (((UINT8 *) (SetVariableStatus + 1)) + NameSize, Data, DataSize);\r
+ CopyMem (SetVariableStatus + 1, VariableName, NameSize);\r
+ CopyMem (((UINT8 *)(SetVariableStatus + 1)) + NameSize, Data, DataSize);\r
\r
REPORT_STATUS_CODE_EX (\r
EFI_ERROR_CODE,\r