\r
@param VOID EDES_TODO: Add parameter description\r
\r
- EDES_TODO: Incomplete Descriptions EFI_SUCCESS\r
- EDES_TODO: Incomplete Descriptions Others\r
+ @retval EFI_SUCCESS If all boot load option EFI Variables corresponding to \r
+ BM_LOAD_CONTEXT marked for deletion is deleted\r
+ @return Others If failed to update the "BootOrder" variable after deletion. \r
\r
**/\r
EFI_STATUS\r
scratch by content from BootOptionMenu is needed.\r
\r
\r
- @param VOID EDES_TODO: Add parameter description\r
+ @param VOID\r
\r
- EDES_TODO: Incomplete Descriptions EFI_SUCCESS\r
- EDES_TODO: Incomplete Descriptions Others\r
+ @retval EFI_SUCCESS The boot order is updated successfully.\r
+ @return EFI_STATUS other than EFI_SUCCESS if failed to\r
+ Set the "BootOrder" EFI Variable.\r
\r
**/\r
EFI_STATUS\r
BootOrderListSize = BootOptionMenu.MenuNumber;\r
\r
if (BootOrderListSize > 0) {\r
- BootOrderList = EfiAllocateZeroPool (BootOrderListSize * sizeof (UINT16));\r
+ BootOrderList = AllocateZeroPool (BootOrderListSize * sizeof (UINT16));\r
ASSERT (BootOrderList != NULL);\r
BootOrderListPtr = BootOrderList;\r
\r
make sure DriverOrder is in valid state.\r
\r
\r
- @param VOID EDES_TODO: Add parameter description\r
+ @param VOID\r
\r
- EDES_TODO: Incomplete Descriptions EFI_SUCCESS\r
- EDES_TODO: Incomplete Descriptions Others\r
+ @retval EFI_SUCCESS Load Option is successfully updated.\r
+ @return Other value than EFI_SUCCESS if failed to update "Driver Order" EFI\r
+ Variable.\r
\r
**/\r
EFI_STATUS\r
needed.\r
\r
\r
- @param VOID EDES_TODO: Add parameter description\r
+ @param VOID\r
\r
- EDES_TODO: Incomplete Descriptions EFI_SUCCESS\r
- EDES_TODO: Incomplete Descriptions Others\r
+ @retval EFI_SUCCESS The driver order is updated successfully.\r
+ @return EFI_STATUS other than EFI_SUCCESS if failed to\r
+ Set the "DriverOrder" EFI Variable.\r
\r
**/\r
EFI_STATUS\r
DriverOrderListSize = DriverOptionMenu.MenuNumber;\r
\r
if (DriverOrderListSize > 0) {\r
- DriverOrderList = EfiAllocateZeroPool (DriverOrderListSize * sizeof (UINT16));\r
+ DriverOrderList = AllocateZeroPool (DriverOrderListSize * sizeof (UINT16));\r
ASSERT (DriverOrderList != NULL);\r
DriverOrderListPtr = DriverOrderList;\r
\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Update the device path of "ConOut", "ConIn" and "ErrOut" \r
+ based on the new BaudRate, Data Bits, parity and Stop Bits\r
+ set.\r
\r
- @param VOID EDES_TODO: Add parameter description\r
+ @param VOID\r
\r
- @return EDES_TODO: Add description for return value\r
+ @return VOID\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param ConsoleName EDES_TODO: Add parameter description\r
- @param ConsoleMenu EDES_TODO: Add parameter description\r
- @param UpdatePageId EDES_TODO: Add parameter description\r
-\r
- @return EDES_TODO: Add description for return value\r
+ This function delete and build multi-instance device path for\r
+ specified type of console device.\r
+\r
+ This function clear the EFI variable defined by ConsoleName and\r
+ gEfiGlobalVariableGuid. It then build the multi-instance device\r
+ path by appending the device path of the Console (In/Out/Err) instance \r
+ in ConsoleMenu. Then it scan all corresponding console device by\r
+ scanning Terminal (built from device supporting Serial I/O instances)\r
+ devices in TerminalMenu. At last, it save a EFI variable specifed\r
+ by ConsoleName and gEfiGlobalVariableGuid.\r
+\r
+ @param ConsoleName The name for the console device type. They are\r
+ usually "ConIn", "ConOut" and "ErrOut".\r
+ @param ConsoleMenu The console memu which is a list of console devices.\r
+ @param UpdatePageId The flag specifying which type of console device\r
+ to be processed.\r
+\r
+ @retval EFI_SUCCESS The function complete successfully.\r
+ @return The EFI variable can be saved. See gRT->SetVariable \r
+ for detail return information.\r
\r
**/\r
EFI_STATUS\r
};\r
\r
//\r
- // First add all console input device to it from console input menu\r
+ // First add all console input device from console input menu\r
//\r
for (Index = 0; Index < ConsoleMenu->MenuNumber; Index++) {\r
NewMenuEntry = BOpt_GetMenuEntry (ConsoleMenu, Index);\r
- if (NULL == NewMenuEntry) {\r
- return EFI_NOT_FOUND;\r
- }\r
\r
NewConsoleContext = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;\r
if (NewConsoleContext->IsActive) {\r
\r
for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {\r
NewMenuEntry = BOpt_GetMenuEntry (&TerminalMenu, Index);\r
- if (NULL == NewMenuEntry) {\r
- return EFI_NOT_FOUND;\r
- }\r
\r
NewTerminalContext = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
if (((NewTerminalContext->IsConIn != 0) && (UpdatePageId == FORM_CON_IN_ID)) ||\r
Vendor.Header.SubType = MSG_VENDOR_DP;\r
CopyMem (\r
&Vendor.Guid,\r
- &Guid[NewTerminalContext->TerminalType],\r
+ &TerminalTypeGuid[NewTerminalContext->TerminalType],\r
sizeof (EFI_GUID)\r
);\r
SetDevicePathNodeLength (&Vendor.Header, sizeof (VENDOR_DEVICE_PATH));\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ This function delete and build multi-instance device path ConIn\r
+ console device.\r
\r
- @param VOID EDES_TODO: Add parameter description\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param VOID\r
\r
+ @retval EFI_SUCCESS The function complete successfully.\r
+ @return The EFI variable can be saved. See gRT->SetVariable \r
+ for detail return information.\r
**/\r
EFI_STATUS\r
Var_UpdateConsoleInpOption (\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ This function delete and build multi-instance device path ConOut\r
+ console device.\r
\r
- @param VOID EDES_TODO: Add parameter description\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param VOID\r
\r
+ @retval EFI_SUCCESS The function complete successfully.\r
+ @return The EFI variable can be saved. See gRT->SetVariable \r
+ for detail return information.\r
**/\r
EFI_STATUS\r
Var_UpdateConsoleOutOption (\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ This function delete and build multi-instance device path ErrOut\r
+ console device.\r
\r
- @param VOID EDES_TODO: Add parameter description\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param VOID\r
\r
+ @retval EFI_SUCCESS The function complete successfully.\r
+ @return The EFI variable can be saved. See gRT->SetVariable \r
+ for detail return information.\r
**/\r
EFI_STATUS\r
Var_UpdateErrorOutOption (\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
- @param HiiHandle EDES_TODO: Add parameter description\r
- @param DescriptionData EDES_TODO: Add parameter description\r
- @param OptionalData EDES_TODO: Add parameter description\r
+ This function create a currently loaded Drive Option from \r
+ the BMM. It then appends this Driver Option to the end of \r
+ the "DriverOrder" list. It append this Driver Opotion to the end\r
+ of DriverOptionMenu.\r
+\r
+ @param CallbackData The BMM context data.\r
+ @param HiiHandle The HII handle associated with the BMM formset.\r
+ @param DescriptionData The description of this driver option.\r
+ @param OptionalData The optional load option.\r
@param ForceReconnect EDES_TODO: Add parameter description\r
\r
- @return EDES_TODO: Add description for return value\r
+ @retval EFI_OUT_OF_RESOURCES If not enought memory to complete the operation.\r
+ @retval EFI_SUCCESS If function completes successfully.\r
\r
**/\r
EFI_STATUS\r
BufferSize += StrSize (OptionalData);\r
}\r
\r
- Buffer = EfiAllocateZeroPool (BufferSize);\r
+ Buffer = AllocateZeroPool (BufferSize);\r
if (NULL == Buffer) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
StrSize (DescriptionData)\r
);\r
\r
- NewLoadContext->Description = EfiAllocateZeroPool (StrSize (DescriptionData));\r
+ NewLoadContext->Description = AllocateZeroPool (StrSize (DescriptionData));\r
ASSERT (NewLoadContext->Description != NULL);\r
NewMenuEntry->DisplayString = NewLoadContext->Description;\r
CopyMem (\r
GetDevicePathSize (CallbackData->LoadContext->FilePathList)\r
);\r
\r
- NewLoadContext->FilePathList = EfiAllocateZeroPool (GetDevicePathSize (CallbackData->LoadContext->FilePathList));\r
+ NewLoadContext->FilePathList = AllocateZeroPool (GetDevicePathSize (CallbackData->LoadContext->FilePathList));\r
ASSERT (NewLoadContext->FilePathList != NULL);\r
\r
CopyMem (\r
&gEfiGlobalVariableGuid,\r
&DriverOrderListSize\r
);\r
- NewDriverOrderList = EfiAllocateZeroPool (DriverOrderListSize + sizeof (UINT16));\r
+ NewDriverOrderList = AllocateZeroPool (DriverOrderListSize + sizeof (UINT16));\r
ASSERT (NewDriverOrderList != NULL);\r
CopyMem (NewDriverOrderList, DriverOrderList, DriverOrderListSize);\r
NewDriverOrderList[DriverOrderListSize / sizeof (UINT16)] = Index;\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ This function create a currently loaded Boot Option from \r
+ the BMM. It then appends this Boot Option to the end of \r
+ the "BootOrder" list. It also append this Boot Opotion to the end\r
+ of BootOptionMenu.\r
\r
- @param CallbackData EDES_TODO: Add parameter description\r
- @param NvRamMap EDES_TODO: Add parameter description\r
+ @param CallbackData The BMM context data.\r
+ @param NvRamMap The file explorer formset internal state.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @retval EFI_OUT_OF_RESOURCES If not enought memory to complete the operation.\r
+ @retval EFI_SUCCESS If function completes successfully.\r
\r
**/\r
+\r
EFI_STATUS\r
Var_UpdateBootOption (\r
IN BMM_CALLBACK_DATA *CallbackData,\r
BufferSize += StrSize (NvRamMap->OptionalData);\r
}\r
\r
- Buffer = EfiAllocateZeroPool (BufferSize);\r
+ Buffer = AllocateZeroPool (BufferSize);\r
if (NULL == Buffer) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
StrSize (NvRamMap->DescriptionData)\r
);\r
\r
- NewLoadContext->Description = EfiAllocateZeroPool (StrSize (NvRamMap->DescriptionData));\r
+ NewLoadContext->Description = AllocateZeroPool (StrSize (NvRamMap->DescriptionData));\r
ASSERT (NewLoadContext->Description != NULL);\r
\r
NewMenuEntry->DisplayString = NewLoadContext->Description;\r
GetDevicePathSize (CallbackData->LoadContext->FilePathList)\r
);\r
\r
- NewLoadContext->FilePathList = EfiAllocateZeroPool (GetDevicePathSize (CallbackData->LoadContext->FilePathList));\r
+ NewLoadContext->FilePathList = AllocateZeroPool (GetDevicePathSize (CallbackData->LoadContext->FilePathList));\r
ASSERT (NewLoadContext->FilePathList != NULL);\r
\r
CopyMem (\r
&BootOrderListSize\r
);\r
\r
- NewBootOrderList = EfiAllocateZeroPool (BootOrderListSize + sizeof (UINT16));\r
+ NewBootOrderList = AllocateZeroPool (BootOrderListSize + sizeof (UINT16));\r
ASSERT (NewBootOrderList != NULL);\r
CopyMem (NewBootOrderList, BootOrderList, BootOrderListSize);\r
NewBootOrderList[BootOrderListSize / sizeof (UINT16)] = Index;\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ This function update the "BootNext" EFI Variable. If there is \r
+ no "BootNex" specified in BMM, this EFI Variable is deleted.\r
+ It also update the BMM context data specified the "BootNext"\r
+ vaule.\r
\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ @param CallbackData The BMM context data.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @retval EFI_SUCCESS The function complete successfully.\r
+ @return The EFI variable can be saved. See gRT->SetVariable \r
+ for detail return information.\r
\r
**/\r
EFI_STATUS\r
CurrentFakeNVMap = &CallbackData->BmmFakeNvData;\r
for (Index = 0; Index < BootOptionMenu.MenuNumber; Index++) {\r
NewMenuEntry = BOpt_GetMenuEntry (&BootOptionMenu, Index);\r
- if (NULL == NewMenuEntry) {\r
- return EFI_NOT_FOUND;\r
- }\r
+ ASSERT (NULL != NewMenuEntry);\r
\r
NewLoadContext = (BM_LOAD_CONTEXT *) NewMenuEntry->VariableContext;\r
NewLoadContext->IsBootNext = FALSE;\r
&BootOptionMenu,\r
CurrentFakeNVMap->BootNext\r
);\r
- if (NULL == NewMenuEntry) {\r
- return EFI_NOT_FOUND;\r
- }\r
+ ASSERT (NewMenuEntry != NULL);\r
\r
NewLoadContext = (BM_LOAD_CONTEXT *) NewMenuEntry->VariableContext;\r
Status = gRT->SetVariable (\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ This function update the "BootOrder" EFI Variable based on\r
+ BMM Formset's NV map. It then refresh BootOptionMenu\r
+ with the new "BootOrder" list.\r
\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ @param CallbackData The BMM context data.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @retval EFI_SUCCESS The function complete successfully.\r
+ @retval EFI_SUCCESS Not enough memory to complete the function.\r
+ @return The EFI variable can be saved. See gRT->SetVariable \r
+ for detail return information.\r
\r
**/\r
EFI_STATUS\r
UINT16 *BootOrderList;\r
UINT16 *NewBootOrderList;\r
UINTN BootOrderListSize;\r
- UINT8 *Map;\r
\r
BootOrderList = NULL;\r
BootOrderListSize = 0;\r
&BootOrderListSize\r
);\r
\r
- NewBootOrderList = EfiAllocateZeroPool (BootOrderListSize);\r
+ NewBootOrderList = AllocateZeroPool (BootOrderListSize);\r
if (NewBootOrderList == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
- Map = EfiAllocateZeroPool (BootOrderListSize / sizeof (UINT16));\r
- if (Map == NULL) {\r
- return EFI_OUT_OF_RESOURCES;\r
- }\r
//\r
// If exists, delete it to hold new BootOrder\r
//\r
);\r
SafeFreePool (BootOrderList);\r
SafeFreePool (NewBootOrderList);\r
- SafeFreePool (Map);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ This function update the "DriverOrder" EFI Variable based on\r
+ BMM Formset's NV map. It then refresh DriverOptionMenu\r
+ with the new "DriverOrder" list.\r
\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ @param CallbackData The BMM context data.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @retval EFI_SUCCESS The function complete successfully.\r
+ @retval EFI_SUCCESS Not enough memory to complete the function.\r
+ @return The EFI variable can be saved. See gRT->SetVariable \r
+ for detail return information.\r
\r
**/\r
EFI_STATUS\r
&DriverOrderListSize\r
);\r
\r
- NewDriverOrderList = EfiAllocateZeroPool (DriverOrderListSize);\r
+ NewDriverOrderList = AllocateZeroPool (DriverOrderListSize);\r
\r
if (NewDriverOrderList == NULL) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Update the legacy BBS boot option. L"LegacyDevOrder" and EfiLegacyDevOrderGuid EFI Variable\r
+ is udpated with the new Legacy Boot order. The EFI Variable of "Boot####" and gEfiGlobalVariableGuid\r
+ is also updated.\r
\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ @param CallbackData The context data for BMM.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @return EFI_SUCCESS The function completed successfully.\r
+ @retval EFI_NOT_FOUND If L"LegacyDevOrder" and EfiLegacyDevOrderGuid EFI Variable can be found.\r
\r
**/\r
EFI_STATUS\r
return EFI_NOT_FOUND;\r
}\r
\r
- NewOrder = (UINT16 *) EfiAllocateZeroPool (DevOrder->Length - sizeof (UINT16));\r
+ NewOrder = (UINT16 *) AllocateZeroPool (DevOrder->Length - sizeof (UINT16));\r
if (NULL == NewOrder) {\r
SafeFreePool (VarData);\r
return EFI_OUT_OF_RESOURCES;\r
Ptr += sizeof (UINT16);\r
Ptr += StrSize ((CHAR16 *) Ptr);\r
\r
- NewOptionPtr = EfiAllocateZeroPool (NewOptionSize);\r
+ NewOptionPtr = AllocateZeroPool (NewOptionSize);\r
if (NULL == NewOptionPtr) {\r
return EFI_OUT_OF_RESOURCES;\r
}\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Update the Text Mode of Console.\r
\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ @param CallbackData The context data for BMM.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @retval EFI_SUCCSS If the Text Mode of Console is updated.\r
+ @return Other value if the Text Mode of Console is not updated.\r
\r
**/\r
EFI_STATUS\r