]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c
Clean up BootMaint module in BdsDxe.
[mirror_edk2.git] / MdeModulePkg / Universal / BdsDxe / BootMaint / UpdatePage.c
index ac551ab1c376725e439586f98e65aff566a38bc3..1791a5cca2cc6edd94678ee85c8092e7a2c10200 100644 (file)
@@ -1,5 +1,5 @@
 /** @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
@@ -17,10 +17,9 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 /**\r
   Refresh the global UpdateData structure.\r
 \r
+  @param VOID\r
 \r
-  @param VOID            EDES_TODO: Add parameter description\r
-\r
-           EDES_TODO: Incomplete Descriptions  None.\r
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -32,11 +31,13 @@ RefreshUpdateData (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function description.\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
 \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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -64,11 +65,12 @@ UpdatePageStart (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function description.\r
+  Create the "Apply changes" and "Discard changes" tags. And\r
+  ensure user can return to the main page.\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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -121,12 +123,14 @@ UpdatePageEnd (
 }\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
+  @param LabelId         It is both the Form ID and Label ID for\r
+                         opcode deletion.\r
+  @param CallbackData    The BMM context data.\r
 \r
-  @return EDES_TODO: Add description for return value\r
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -151,11 +155,13 @@ CleanUpPage (
 }\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
+  @retun                 Other value if the boot from the file fails.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -192,11 +198,12 @@ BootThisFile (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function description.\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    EDES_TODO: Add parameter description\r
+  @param CallbackData    The BMM context data.\r
 \r
-  @return EDES_TODO: Add description for return value\r
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -229,11 +236,12 @@ UpdateConCOMPage (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function description.\r
+  Create a lit of boot option from global BootOptionMenu. It\r
+  allow user to delete the boot option.\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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -276,11 +284,11 @@ UpdateBootDelPage (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function description.\r
+  Create a lit of driver option from global DriverMenu.\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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -312,11 +320,13 @@ UpdateDrvAddHandlePage (
 }\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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -357,11 +367,12 @@ UpdateDrvDelPage (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function description.\r
+  Prepare the page to allow user to add description for \r
+  a Driver Option.\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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -431,9 +442,9 @@ UpdateDriverAddHandleDescPage (
 \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
+  @param CallbackData    The BMM context data.\r
 \r
-  @return EDES_TODO: Add description for return value\r
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -510,13 +521,14 @@ UpdateConsolePage (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function 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
-  @param UpdatePageId    EDES_TODO: Add parameter description\r
-  @param OptionMenu      EDES_TODO: Add parameter description\r
-  @param CallbackData    EDES_TODO: Add parameter description\r
+  @param UpdatePageId    The form ID to be updated.\r
+  @param OptionMenu      The new list.\r
+  @param CallbackData    The BMM context data.\r
 \r
-  @return EDES_TODO: Add description for return value\r
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -538,7 +550,7 @@ UpdateOrderPage (
 \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
@@ -580,11 +592,12 @@ UpdateOrderPage (
 }\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
+  @param CallbackData    The BMM context data.\r
 \r
-  @return EDES_TODO: Add description for return value\r
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -606,7 +619,7 @@ UpdateBootNextPage (
   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
@@ -653,11 +666,12 @@ UpdateBootNextPage (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function description.\r
+  Create the dynamic page to allow user to set\r
+  the "TimeOut" 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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -697,9 +711,9 @@ UpdateTimeOutPage (
   Refresh the text mode page\r
 \r
 \r
-  @param CallbackData    BMM_CALLBACK_DATA\r
+  @param CallbackData    The BMM context data.\r
 \r
-           EDES_TODO: Incomplete Descriptions  None.\r
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -744,10 +758,10 @@ UpdateConModePage (
     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
@@ -802,11 +816,13 @@ UpdateConModePage (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function 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
-  @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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -835,12 +851,12 @@ UpdateTerminalPage (
 \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
@@ -866,7 +882,7 @@ UpdateTerminalPage (
     &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
@@ -893,7 +909,7 @@ UpdateTerminalPage (
     &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
@@ -919,7 +935,7 @@ UpdateTerminalPage (
     &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
@@ -976,12 +992,13 @@ UpdateTerminalPage (
 }\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
+  @param UpdatePageId    The form ID.\r
+  @param CallbackData    The BMM context data.\r
 \r
-  @return EDES_TODO: Add description for return value\r
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -1018,13 +1035,15 @@ UpdatePageBody (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function 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
-  @param DeviceType      EDES_TODO: Add parameter description\r
-  @param OptionIndex     EDES_TODO: Add parameter description\r
-  @param OptionSize      EDES_TODO: Add parameter description\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
-  @return EDES_TODO: Add description for return value\r
+  @return VOID\r
 \r
 **/\r
 VOID *\r
@@ -1100,12 +1119,13 @@ GetLegacyBootOptionVar (
 }\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
+  @return VOID\r
 \r
 **/\r
 VOID\r
@@ -1210,7 +1230,7 @@ UpdateSetLegacyDeviceOrderPage (
 \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
@@ -1304,12 +1324,12 @@ UpdateSetLegacyDeviceOrderPage (
 }\r
 \r
 /**\r
-  EDES_TODO: Add function description.\r
+  Dispatch the display to the next page based on NewPageId.\r
 \r
-  @param Private         EDES_TODO: Add parameter description\r
-  @param NewPageId       EDES_TODO: Add parameter description\r
+  @param Private         The BMM context data.\r
+  @param NewPageId       The original page ID.\r
 \r
-  @return EDES_TODO: Add description for return value\r
+  @return VOID\r
 \r
 **/\r
 VOID\r