/** @file\r
- Dynamically Update the pages\r
+Dynamically update the pages.\r
\r
Copyright (c) 2004 - 2008, Intel Corporation. <BR>\r
All rights reserved. This program and the accompanying materials\r
/**\r
Refresh the global UpdateData structure.\r
\r
-\r
- @param VOID EDES_TODO: Add parameter description\r
-\r
- EDES_TODO: Incomplete Descriptions None.\r
-\r
**/\r
VOID\r
RefreshUpdateData (\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
-\r
- @return EDES_TODO: Add description for return value\r
+ Add a "Go back to main page" tag in front of the form when there are no\r
+ "Apply changes" and "Discard changes" tags in the end of the form.\r
+ \r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ Create the "Apply changes" and "Discard changes" tags. And\r
+ ensure user can return to the main page.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Clean up the dynamic opcode at label and form specified by\r
+ both LabelId. \r
\r
- @param LabelId EDES_TODO: Add parameter description\r
- @param CallbackData EDES_TODO: Add parameter description\r
-\r
- @return EDES_TODO: Add description for return value\r
+ @param LabelId It is both the Form ID and Label ID for\r
+ opcode deletion.\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Boot a file selected by user at File Expoloer of BMM.\r
\r
- @param FileContext EDES_TODO: Add parameter description\r
+ @param FileContext The file context data, which contains the device path\r
+ of the file to be boot from.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @retval EFI_SUCCESS The function completed successfull.\r
+ @return Other value if the boot from the file fails.\r
\r
**/\r
EFI_STATUS\r
//\r
gST->ConOut->ClearScreen (gST->ConOut);\r
\r
- gBS->RaiseTPL (TPL_APPLICATION);\r
-\r
ExitDataSize = 0;\r
\r
Status = BdsLibBootViaBootOption (Option, Option->DevicePath, &ExitDataSize, &ExitData);\r
\r
- gBS->RestoreTPL (TPL_APPLICATION);\r
-\r
return Status;\r
\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
-\r
- @return EDES_TODO: Add description for return value\r
+ Create a list of Goto Opcode for all terminal devices logged\r
+ by TerminaMenu. This list will be inserted to form FORM_CON_COM_SETUP_ID.\r
\r
+ @param CallbackData The BMM context data.\r
**/\r
VOID\r
UpdateConCOMPage (\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ Create a lit of boot option from global BootOptionMenu. It\r
+ allow user to delete the boot option.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ Create a lit of driver option from global DriverMenu.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Create a lit of driver option from global DriverOptionMenu. It\r
+ allow user to delete the driver option.\r
\r
- @param CallbackData EDES_TODO: Add parameter description\r
-\r
- @return EDES_TODO: Add description for return value\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ Prepare the page to allow user to add description for \r
+ a Driver Option.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Update console page.\r
\r
- @param UpdatePageId EDES_TODO: Add parameter description\r
- @param ConsoleMenu EDES_TODO: Add parameter description\r
- @param CallbackData EDES_TODO: Add parameter description\r
-\r
- @return EDES_TODO: Add description for return value\r
+ @param UpdatePageId The form ID to be updated.\r
+ @param ConsoleMenu The console menu list.\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param UpdatePageId EDES_TODO: Add parameter description\r
- @param OptionMenu EDES_TODO: Add parameter description\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ Update the page's NV Map if user has changed the order\r
+ a list. This list can be Boot Order or Driver Order.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param UpdatePageId The form ID to be updated.\r
+ @param OptionMenu The new list.\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
\r
ZeroMem (CallbackData->BmmFakeNvData.OptionOrder, 100);\r
\r
- IfrOptionList = EfiAllocateZeroPool (sizeof (IFR_OPTION) * OptionMenu->MenuNumber);\r
+ IfrOptionList = AllocateZeroPool (sizeof (IFR_OPTION) * OptionMenu->MenuNumber);\r
if (NULL == IfrOptionList) {\r
return ;\r
}\r
);\r
}\r
\r
- SafeFreePool (IfrOptionList);\r
+ FreePool (IfrOptionList);\r
\r
UpdatePageEnd (CallbackData);\r
\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Create the dynamic page to allow user to set\r
+ the "BootNext" vaule.\r
\r
- @param CallbackData EDES_TODO: Add parameter description\r
-\r
- @return EDES_TODO: Add description for return value\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
CreateMenuStringToken (CallbackData, CallbackData->BmmHiiHandle, &BootOptionMenu);\r
\r
if (NumberOfOptions > 0) {\r
- IfrOptionList = EfiAllocateZeroPool ((NumberOfOptions + 1) * sizeof (IFR_OPTION));\r
+ IfrOptionList = AllocateZeroPool ((NumberOfOptions + 1) * sizeof (IFR_OPTION));\r
\r
ASSERT (IfrOptionList);\r
\r
&gUpdateData\r
);\r
\r
- SafeFreePool (IfrOptionList);\r
+ FreePool (IfrOptionList);\r
}\r
\r
UpdatePageEnd (CallbackData);\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ Create the dynamic page to allow user to set\r
+ the "TimeOut" vaule.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
/**\r
Refresh the text mode page\r
\r
-\r
- @param CallbackData BMM_CALLBACK_DATA\r
-\r
- EDES_TODO: Incomplete Descriptions None.\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
return;\r
}\r
\r
- IfrOptionList = EfiAllocateZeroPool (sizeof (IFR_OPTION) * ValidMode);\r
+ IfrOptionList = AllocateZeroPool (sizeof (IFR_OPTION) * ValidMode);\r
ASSERT(IfrOptionList != NULL);\r
\r
- ModeToken = EfiAllocateZeroPool (sizeof (EFI_STRING_ID) * ValidMode);\r
+ ModeToken = AllocateZeroPool (sizeof (EFI_STRING_ID) * ValidMode);\r
ASSERT(ModeToken != NULL);\r
\r
//\r
ValidMode,\r
&gUpdateData\r
);\r
- SafeFreePool (IfrOptionList);\r
- SafeFreePool (ModeToken);\r
+ FreePool (IfrOptionList);\r
+ FreePool (ModeToken);\r
\r
UpdatePageEnd (CallbackData);\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ Create the dynamic page which allows user to \r
+ set the property such as Baud Rate, Data Bits,\r
+ Parity, Stop Bits, Terminal Type.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
\r
NewTerminalContext = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
\r
- IfrOptionList = EfiAllocateZeroPool (sizeof (IFR_OPTION) * 19);\r
+ IfrOptionList = AllocateZeroPool (sizeof (IFR_OPTION) * 19);\r
if (IfrOptionList == NULL) {\r
return ;\r
}\r
\r
- for (Index = 0; Index < 19; Index++) {\r
+ for (Index = 0; Index < sizeof (BaudRateList) / sizeof (BaudRateList [0]); Index++) {\r
CheckFlags = 0;\r
if (NewTerminalContext->BaudRate == (UINT64) (BaudRateList[Index].Value)) {\r
CheckFlags |= EFI_IFR_OPTION_DEFAULT;\r
&gUpdateData\r
);\r
\r
- for (Index = 0; Index < 4; Index++) {\r
+ for (Index = 0; Index < sizeof (DataBitsList) / sizeof (DataBitsList[0]); Index++) {\r
CheckFlags = 0;\r
\r
if (NewTerminalContext->DataBits == DataBitsList[Index].Value) {\r
&gUpdateData\r
);\r
\r
- for (Index = 0; Index < 5; Index++) {\r
+ for (Index = 0; Index < sizeof (ParityList) / sizeof (ParityList[0]); Index++) {\r
CheckFlags = 0;\r
if (NewTerminalContext->Parity == ParityList[Index].Value) {\r
CheckFlags |= EFI_IFR_OPTION_DEFAULT;\r
&gUpdateData\r
);\r
\r
- for (Index = 0; Index < 3; Index++) {\r
+ for (Index = 0; Index < sizeof (StopBitsList) / sizeof (StopBitsList[0]); Index++) {\r
CheckFlags = 0;\r
if (NewTerminalContext->StopBits == StopBitsList[Index].Value) {\r
CheckFlags |= EFI_IFR_OPTION_DEFAULT;\r
&gUpdateData\r
);\r
\r
- SafeFreePool (IfrOptionList);\r
+ FreePool (IfrOptionList);\r
\r
UpdatePageEnd (CallbackData);\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Dispatch the correct update page function to call based on\r
+ the UpdatePageId.\r
\r
- @param UpdatePageId EDES_TODO: Add parameter description\r
- @param CallbackData EDES_TODO: Add parameter description\r
-\r
- @return EDES_TODO: Add description for return value\r
+ @param UpdatePageId The form ID.\r
+ @param CallbackData The BMM context data.\r
\r
**/\r
VOID\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param DeviceType EDES_TODO: Add parameter description\r
- @param OptionIndex EDES_TODO: Add parameter description\r
- @param OptionSize EDES_TODO: Add parameter description\r
+ Get the index number (#### in Boot####) for the boot option pointed to a BBS legacy device type\r
+ specified by DeviceType.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param DeviceType The legacy device type. It can be floppy, network, harddisk, cdrom,\r
+ etc.\r
+ @param OptionIndex Returns the index number (#### in Boot####).\r
+ @param OptionSize Return the size of the Boot### variable.\r
\r
**/\r
VOID *\r
(BBS_BBS_DP == DevicePath->SubType)\r
) {\r
*OptionIndex = OrderBuffer[Index];\r
- SafeFreePool (OrderBuffer);\r
+ FreePool (OrderBuffer);\r
return OptionBuffer;\r
} else {\r
- SafeFreePool (OptionBuffer);\r
+ FreePool (OptionBuffer);\r
}\r
}\r
\r
- SafeFreePool (OrderBuffer);\r
+ FreePool (OrderBuffer);\r
return NULL;\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
+ Create a dynamic page so that Legacy Device boot order\r
+ can be set for specified device type.\r
\r
- @param UpdatePageId EDES_TODO: Add parameter description\r
- @param CallbackData EDES_TODO: Add parameter description\r
+ @param UpdatePageId The form ID. It also spefies the legacy device type.\r
+ @param CallbackData The BMM context data.\r
\r
- @return EDES_TODO: Add description for return value\r
\r
**/\r
VOID\r
case FORM_SET_FD_ORDER_ID:\r
OptionMenu = (BM_MENU_OPTION *) &LegacyFDMenu;\r
Key = (UINT16) LEGACY_FD_QUESTION_ID;\r
- TypeStr = StrFloppy;\r
- TypeStrHelp = StrFloppyHelp;\r
+ TypeStr = STR_FLOPPY;\r
+ TypeStrHelp = STR_FLOPPY_HELP;\r
BbsType = BBS_FLOPPY;\r
LegacyOrder = CallbackData->BmmFakeNvData.LegacyFD;\r
OldData = CallbackData->BmmOldFakeNVData.LegacyFD;\r
case FORM_SET_HD_ORDER_ID:\r
OptionMenu = (BM_MENU_OPTION *) &LegacyHDMenu;\r
Key = (UINT16) LEGACY_HD_QUESTION_ID;\r
- TypeStr = StrHardDisk;\r
- TypeStrHelp = StrHardDiskHelp;\r
+ TypeStr = STR_HARDDISK;\r
+ TypeStrHelp = STR_HARDDISK_HELP;\r
BbsType = BBS_HARDDISK;\r
LegacyOrder = CallbackData->BmmFakeNvData.LegacyHD;\r
OldData = CallbackData->BmmOldFakeNVData.LegacyHD;\r
case FORM_SET_CD_ORDER_ID:\r
OptionMenu = (BM_MENU_OPTION *) &LegacyCDMenu;\r
Key = (UINT16) LEGACY_CD_QUESTION_ID;\r
- TypeStr = StrCDROM;\r
- TypeStrHelp = StrCDROMHelp;\r
+ TypeStr = STR_CDROM;\r
+ TypeStrHelp = STR_CDROM_HELP;\r
BbsType = BBS_CDROM;\r
LegacyOrder = CallbackData->BmmFakeNvData.LegacyCD;\r
OldData = CallbackData->BmmOldFakeNVData.LegacyCD;\r
case FORM_SET_NET_ORDER_ID:\r
OptionMenu = (BM_MENU_OPTION *) &LegacyNETMenu;\r
Key = (UINT16) LEGACY_NET_QUESTION_ID;\r
- TypeStr = StrNET;\r
- TypeStrHelp = StrNETHelp;\r
+ TypeStr = STR_NET;\r
+ TypeStrHelp = STR_NET_HELP;\r
BbsType = BBS_EMBED_NETWORK;\r
LegacyOrder = CallbackData->BmmFakeNvData.LegacyNET;\r
OldData = CallbackData->BmmOldFakeNVData.LegacyNET;\r
case FORM_SET_BEV_ORDER_ID:\r
OptionMenu = (BM_MENU_OPTION *) &LegacyBEVMenu;\r
Key = (UINT16) LEGACY_BEV_QUESTION_ID;\r
- TypeStr = StrBEV;\r
- TypeStrHelp = StrBEVHelp;\r
+ TypeStr = STR_BEV;\r
+ TypeStrHelp = STR_BEV_HELP;\r
BbsType = BBS_BEV_DEVICE;\r
LegacyOrder = CallbackData->BmmFakeNvData.LegacyBEV;\r
OldData = CallbackData->BmmOldFakeNVData.LegacyBEV;\r
\r
CreateMenuStringToken (CallbackData, CallbackData->BmmHiiHandle, OptionMenu);\r
\r
- IfrOptionList = EfiAllocateZeroPool (sizeof (IFR_OPTION) * (OptionMenu->MenuNumber + 1));\r
+ IfrOptionList = AllocateZeroPool (sizeof (IFR_OPTION) * (OptionMenu->MenuNumber + 1));\r
if (NULL == IfrOptionList) {\r
return ;\r
}\r
// Get Device Order from variable\r
//\r
VarData = BdsLibGetVariableAndSize (\r
- VarLegacyDevOrder,\r
+ VAR_LEGACY_DEV_ORDER,\r
&EfiLegacyDevOrderGuid,\r
&VarSize\r
);\r
CopyMem (OldData, LegacyOrder, 100);\r
\r
if (IfrOptionList != NULL) {\r
- SafeFreePool (IfrOptionList);\r
+ FreePool (IfrOptionList);\r
IfrOptionList = NULL;\r
}\r
\r
}\r
\r
/**\r
- EDES_TODO: Add function description.\r
-\r
- @param Private EDES_TODO: Add parameter description\r
- @param NewPageId EDES_TODO: Add parameter description\r
+ Dispatch the display to the next page based on NewPageId.\r
\r
- @return EDES_TODO: Add description for return value\r
+ @param Private The BMM context data.\r
+ @param NewPageId The original page ID.\r
\r
**/\r
VOID\r