]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Enhance BDS to support Boot/Driver option whose option number >= 0xFF.
authorniruiyu <niruiyu@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 10 Jan 2011 05:56:55 +0000 (05:56 +0000)
committerniruiyu <niruiyu@6f19259b-4bc3-4df7-8a09-765794883524>
Mon, 10 Jan 2011 05:56:55 +0000 (05:56 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11242 6f19259b-4bc3-4df7-8a09-765794883524

IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.c
IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/BootMaint.h
IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/FormGuid.h
IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c
IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/Variable.c

index 48035298d3d6ba2f23ce8799de5bc3edf7098b4c..6e15e096a68fd33d2635f30f69f68f7c6eda9750 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   The functions for Boot Maintainence Main menu.\r
 \r
-Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -678,11 +678,11 @@ ApplyChangeHandler (
 \r
   case FORM_BOOT_DEL_ID:\r
     for (Index = 0; \r
-         ((Index < BootOptionMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->BootOptionDel) / sizeof (UINT8)))); \r
+         ((Index < BootOptionMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->OptionDel) / sizeof (CurrentFakeNVMap->OptionDel[0])))); \r
          Index ++) {\r
       NewMenuEntry            = BOpt_GetMenuEntry (&BootOptionMenu, Index);\r
       NewLoadContext          = (BM_LOAD_CONTEXT *) NewMenuEntry->VariableContext;\r
-      NewLoadContext->Deleted = CurrentFakeNVMap->BootOptionDel[Index];\r
+      NewLoadContext->Deleted = CurrentFakeNVMap->OptionDel[Index];\r
     }\r
 \r
     Var_DelBootOption ();\r
@@ -690,11 +690,11 @@ ApplyChangeHandler (
 \r
   case FORM_DRV_DEL_ID:\r
     for (Index = 0; \r
-         ((Index < DriverOptionMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->DriverOptionDel) / sizeof (UINT8)))); \r
+         ((Index < DriverOptionMenu.MenuNumber) && (Index < (sizeof (CurrentFakeNVMap->OptionDel) / sizeof (CurrentFakeNVMap->OptionDel[0])))); \r
          Index++) {\r
       NewMenuEntry            = BOpt_GetMenuEntry (&DriverOptionMenu, Index);\r
       NewLoadContext          = (BM_LOAD_CONTEXT *) NewMenuEntry->VariableContext;\r
-      NewLoadContext->Deleted = CurrentFakeNVMap->DriverOptionDel[Index];\r
+      NewLoadContext->Deleted = CurrentFakeNVMap->OptionDel[Index];\r
     }\r
 \r
     Var_DelDriverOption ();\r
@@ -757,14 +757,14 @@ ApplyChangeHandler (
     for (Index = 0; Index < ConsoleInpMenu.MenuNumber; Index++) {\r
       NewMenuEntry                = BOpt_GetMenuEntry (&ConsoleInpMenu, Index);\r
       NewConsoleContext           = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;\r
-         ASSERT (Index < MAX_MENU_NUMBER);\r
+      ASSERT (Index < MAX_MENU_NUMBER);\r
       NewConsoleContext->IsActive = CurrentFakeNVMap->ConsoleCheck[Index];\r
     }\r
 \r
     for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {\r
       NewMenuEntry                = BOpt_GetMenuEntry (&TerminalMenu, Index);\r
       NewTerminalContext          = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
-         ASSERT (Index + ConsoleInpMenu.MenuNumber < MAX_MENU_NUMBER);\r
+      ASSERT (Index + ConsoleInpMenu.MenuNumber < MAX_MENU_NUMBER);\r
       NewTerminalContext->IsConIn = CurrentFakeNVMap->ConsoleCheck[Index + ConsoleInpMenu.MenuNumber];\r
     }\r
 \r
@@ -775,14 +775,14 @@ ApplyChangeHandler (
     for (Index = 0; Index < ConsoleOutMenu.MenuNumber; Index++) {\r
       NewMenuEntry                = BOpt_GetMenuEntry (&ConsoleOutMenu, Index);\r
       NewConsoleContext           = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;\r
-         ASSERT (Index < MAX_MENU_NUMBER);\r
+      ASSERT (Index < MAX_MENU_NUMBER);\r
       NewConsoleContext->IsActive = CurrentFakeNVMap->ConsoleCheck[Index];\r
     }\r
 \r
     for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {\r
       NewMenuEntry                  = BOpt_GetMenuEntry (&TerminalMenu, Index);\r
       NewTerminalContext            = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
-         ASSERT (Index + ConsoleOutMenu.MenuNumber < MAX_MENU_NUMBER);\r
+      ASSERT (Index + ConsoleOutMenu.MenuNumber < MAX_MENU_NUMBER);\r
       NewTerminalContext->IsConOut  = CurrentFakeNVMap->ConsoleCheck[Index + ConsoleOutMenu.MenuNumber];\r
     }\r
 \r
@@ -793,14 +793,14 @@ ApplyChangeHandler (
     for (Index = 0; Index < ConsoleErrMenu.MenuNumber; Index++) {\r
       NewMenuEntry                = BOpt_GetMenuEntry (&ConsoleErrMenu, Index);\r
       NewConsoleContext           = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;\r
-         ASSERT (Index < MAX_MENU_NUMBER);\r
+      ASSERT (Index < MAX_MENU_NUMBER);\r
       NewConsoleContext->IsActive = CurrentFakeNVMap->ConsoleCheck[Index];\r
     }\r
 \r
     for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {\r
       NewMenuEntry                  = BOpt_GetMenuEntry (&TerminalMenu, Index);\r
       NewTerminalContext            = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;\r
-         ASSERT (Index + ConsoleErrMenu.MenuNumber < MAX_MENU_NUMBER);\r
+      ASSERT (Index + ConsoleErrMenu.MenuNumber < MAX_MENU_NUMBER);\r
       NewTerminalContext->IsStdErr  = CurrentFakeNVMap->ConsoleCheck[Index + ConsoleErrMenu.MenuNumber];\r
     }\r
 \r
@@ -850,20 +850,20 @@ DiscardChangeHandler (
   switch (Private->BmmPreviousPageId) {\r
   case FORM_BOOT_CHG_ID:\r
   case FORM_DRV_CHG_ID:\r
-    CopyMem (CurrentFakeNVMap->OptionOrder, Private->BmmOldFakeNVData.OptionOrder, 100);\r
+    CopyMem (CurrentFakeNVMap->OptionOrder, Private->BmmOldFakeNVData.OptionOrder, sizeof (CurrentFakeNVMap->OptionOrder));\r
     break;\r
 \r
   case FORM_BOOT_DEL_ID:\r
-    ASSERT (BootOptionMenu.MenuNumber <= (sizeof (CurrentFakeNVMap->BootOptionDel) / sizeof (CurrentFakeNVMap->BootOptionDel[0])));\r
+    ASSERT (BootOptionMenu.MenuNumber <= (sizeof (CurrentFakeNVMap->OptionDel) / sizeof (CurrentFakeNVMap->OptionDel[0])));\r
     for (Index = 0; Index < BootOptionMenu.MenuNumber; Index++) {\r
-      CurrentFakeNVMap->BootOptionDel[Index] = 0x00;\r
+      CurrentFakeNVMap->OptionDel[Index] = FALSE;\r
     }\r
     break;\r
 \r
   case FORM_DRV_DEL_ID:\r
-    ASSERT (DriverOptionMenu.MenuNumber <= (sizeof (CurrentFakeNVMap->DriverOptionDel) / sizeof (CurrentFakeNVMap->DriverOptionDel[0])));\r
+    ASSERT (DriverOptionMenu.MenuNumber <= (sizeof (CurrentFakeNVMap->OptionDel) / sizeof (CurrentFakeNVMap->OptionDel[0])));\r
     for (Index = 0; Index < DriverOptionMenu.MenuNumber; Index++) {\r
-      CurrentFakeNVMap->DriverOptionDel[Index] = 0x00;\r
+      CurrentFakeNVMap->OptionDel[Index] = FALSE;\r
     }\r
     break;\r
 \r
index 673324475ca4beadccc4f6f32b52db3fb72ea658..bd74fd2a6b622b962104ef12bbe9b778ec18c862 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Header file for boot maintenance module.\r
 \r
-Copyright (c) 2004 - 2009, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -189,9 +189,7 @@ typedef enum _FILE_EXPLORER_DISPLAY_CONTEXT {
 #define CON_MODE_VAR_OFFSET             VAR_OFFSET (ConsoleOutMode)\r
 #define CON_DEVICE_VAR_OFFSET           VAR_OFFSET (ConsoleCheck)\r
 #define OPTION_ORDER_VAR_OFFSET         VAR_OFFSET (OptionOrder)\r
-#define DRIVER_OPTION_ORDER_VAR_OFFSET  VAR_OFFSET (DriverOptionToBeDeleted)\r
-#define BOOT_OPTION_DEL_VAR_OFFSET      VAR_OFFSET (BootOptionDel)\r
-#define DRIVER_OPTION_DEL_VAR_OFFSET    VAR_OFFSET (DriverOptionDel)\r
+#define OPTION_DEL_VAR_OFFSET           VAR_OFFSET (OptionDel)\r
 #define DRIVER_ADD_OPTION_VAR_OFFSET    VAR_OFFSET (DriverAddHandleOptionalData)\r
 #define COM_BAUD_RATE_VAR_OFFSET        VAR_OFFSET (COMBaudRate)\r
 #define COM_DATA_RATE_VAR_OFFSET        VAR_OFFSET (COMDataRate)\r
@@ -228,9 +226,7 @@ typedef enum _FILE_EXPLORER_DISPLAY_CONTEXT {
 #define CON_MODE_QUESTION_ID            QUESTION_ID (ConsoleOutMode)\r
 #define CON_DEVICE_QUESTION_ID          QUESTION_ID (ConsoleCheck)\r
 #define OPTION_ORDER_QUESTION_ID        QUESTION_ID (OptionOrder)\r
-#define DRIVER_OPTION_ORDER_QUESTION_ID QUESTION_ID (DriverOptionToBeDeleted)\r
-#define BOOT_OPTION_DEL_QUESTION_ID     QUESTION_ID (BootOptionDel)\r
-#define DRIVER_OPTION_DEL_QUESTION_ID   QUESTION_ID (DriverOptionDel)\r
+#define OPTION_DEL_QUESTION_ID          QUESTION_ID (OptionDel)\r
 #define DRIVER_ADD_OPTION_QUESTION_ID   QUESTION_ID (DriverAddHandleOptionalData)\r
 #define COM_BAUD_RATE_QUESTION_ID       QUESTION_ID (COMBaudRate)\r
 #define COM_DATA_RATE_QUESTION_ID       QUESTION_ID (COMDataRate)\r
index 948b5e95b24bbcd91c2af0a0950f22f07e0031ae..71c59762d7f9426dd37fdeaceebada4f40521837 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Formset guids, form id and VarStore data structure for Boot Maintenance Manager.\r
 \r
-Copyright (c) 2004 - 2008, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -147,15 +147,15 @@ typedef struct {
 \r
   //\r
   // Boot or Driver Option Order storage\r
+  // The value is the OptionNumber+1 because the order list value cannot be 0\r
+  // Use UINT32 to hold the potential value 0xFFFF+1=0x10000\r
   //\r
-  UINT8   OptionOrder[MAX_MENU_NUMBER];\r
-  UINT8   DriverOptionToBeDeleted[MAX_MENU_NUMBER];\r
+  UINT32  OptionOrder[MAX_MENU_NUMBER];\r
 \r
   //\r
-  // Boot Option Delete storage\r
+  // Boot or Driver Option Delete storage\r
   //\r
-  UINT8   BootOptionDel[MAX_MENU_NUMBER];\r
-  UINT8   DriverOptionDel[MAX_MENU_NUMBER];\r
+  BOOLEAN OptionDel[MAX_MENU_NUMBER];\r
 \r
   //\r
   // This is the Terminal Attributes value storage\r
index f83d166bb3bd6aa119ddcf707332df4fe4ce3583..24a444d24f9576e7167798b97165d9784950e9ab 100644 (file)
@@ -254,7 +254,7 @@ UpdateBootDelPage (
   UpdatePageStart (CallbackData);\r
   CreateMenuStringToken (CallbackData, CallbackData->BmmHiiHandle, &BootOptionMenu);\r
 \r
-  ASSERT (BootOptionMenu.MenuNumber <= (sizeof (CallbackData->BmmFakeNvData.BootOptionDel) / sizeof (CallbackData->BmmFakeNvData.BootOptionDel[0])));\r
+  ASSERT (BootOptionMenu.MenuNumber <= (sizeof (CallbackData->BmmFakeNvData.OptionDel) / sizeof (CallbackData->BmmFakeNvData.OptionDel[0])));\r
   for (Index = 0; Index < BootOptionMenu.MenuNumber; Index++) {\r
     NewMenuEntry    = BOpt_GetMenuEntry (&BootOptionMenu, Index);\r
     NewLoadContext  = (BM_LOAD_CONTEXT *) NewMenuEntry->VariableContext;\r
@@ -263,13 +263,13 @@ UpdateBootDelPage (
     }\r
 \r
     NewLoadContext->Deleted = FALSE;\r
-    CallbackData->BmmFakeNvData.BootOptionDel[Index] = 0x00;\r
+    CallbackData->BmmFakeNvData.OptionDel[Index] = FALSE;\r
 \r
     HiiCreateCheckBoxOpCode (\r
       mStartOpCodeHandle,\r
-      (EFI_QUESTION_ID) (BOOT_OPTION_DEL_QUESTION_ID + Index),\r
+      (EFI_QUESTION_ID) (OPTION_DEL_QUESTION_ID + Index),\r
       VARSTORE_ID_BOOT_MAINT,\r
-      (UINT16) (BOOT_OPTION_DEL_VAR_OFFSET + Index),\r
+      (UINT16) (OPTION_DEL_VAR_OFFSET + Index),\r
       NewMenuEntry->DisplayStringToken,\r
       NewMenuEntry->HelpStringToken,\r
       0,\r
@@ -337,19 +337,19 @@ UpdateDrvDelPage (
 \r
   CreateMenuStringToken (CallbackData, CallbackData->BmmHiiHandle, &DriverOptionMenu);\r
   \r
-  ASSERT (DriverOptionMenu.MenuNumber <= (sizeof (CallbackData->BmmFakeNvData.DriverOptionDel) / sizeof (CallbackData->BmmFakeNvData.DriverOptionDel[0])));\r
+  ASSERT (DriverOptionMenu.MenuNumber <= (sizeof (CallbackData->BmmFakeNvData.OptionDel) / sizeof (CallbackData->BmmFakeNvData.OptionDel[0])));\r
   for (Index = 0; Index < DriverOptionMenu.MenuNumber; Index++) {\r
     NewMenuEntry            = BOpt_GetMenuEntry (&DriverOptionMenu, Index);\r
 \r
     NewLoadContext          = (BM_LOAD_CONTEXT *) NewMenuEntry->VariableContext;\r
     NewLoadContext->Deleted = FALSE;\r
-    CallbackData->BmmFakeNvData.DriverOptionDel[Index] = 0x00;\r
+    CallbackData->BmmFakeNvData.OptionDel[Index] = FALSE;\r
 \r
     HiiCreateCheckBoxOpCode (\r
       mStartOpCodeHandle,\r
-      (EFI_QUESTION_ID) (DRIVER_OPTION_DEL_QUESTION_ID + Index),\r
+      (EFI_QUESTION_ID) (OPTION_DEL_QUESTION_ID + Index),\r
       VARSTORE_ID_BOOT_MAINT,\r
-      (UINT16) (DRIVER_OPTION_DEL_VAR_OFFSET + Index),\r
+      (UINT16) (OPTION_DEL_VAR_OFFSET + Index),\r
       NewMenuEntry->DisplayStringToken,\r
       NewMenuEntry->HelpStringToken,\r
       0,\r
@@ -545,7 +545,7 @@ UpdateOrderPage (
 \r
   CreateMenuStringToken (CallbackData, CallbackData->BmmHiiHandle, OptionMenu);\r
 \r
-  ZeroMem (CallbackData->BmmFakeNvData.OptionOrder, 100);\r
+  ZeroMem (CallbackData->BmmFakeNvData.OptionOrder, sizeof (CallbackData->BmmFakeNvData.OptionOrder));\r
 \r
   OptionsOpCodeHandle = HiiAllocateOpCodeHandle ();\r
   ASSERT (OptionsOpCodeHandle != NULL);\r
@@ -557,7 +557,7 @@ UpdateOrderPage (
           (Index <\r
             (\r
               sizeof (CallbackData->BmmFakeNvData.OptionOrder) /\r
-              sizeof (UINT8)\r
+              sizeof (CallbackData->BmmFakeNvData.OptionOrder[0])\r
             )\r
           )\r
         );\r
@@ -568,10 +568,10 @@ UpdateOrderPage (
       OptionsOpCodeHandle,\r
       NewMenuEntry->DisplayStringToken,\r
       0,\r
-      EFI_IFR_NUMERIC_SIZE_1,\r
-      (UINT8) (NewMenuEntry->OptionNumber + 1)\r
+      EFI_IFR_TYPE_NUM_SIZE_32,\r
+      (UINT32) (NewMenuEntry->OptionNumber + 1)\r
       );\r
-    CallbackData->BmmFakeNvData.OptionOrder[Index] = (UINT8) (NewMenuEntry->OptionNumber + 1);\r
+    CallbackData->BmmFakeNvData.OptionOrder[Index] = (UINT32) (NewMenuEntry->OptionNumber + 1);\r
   }\r
 \r
   if (OptionMenu->MenuNumber > 0) {\r
@@ -584,7 +584,7 @@ UpdateOrderPage (
       STRING_TOKEN (STR_CHANGE_ORDER),             // Question help text                        \r
       0,                                           // Question flag                             \r
       0,                                           // Ordered list flag, e.g. EFI_IFR_UNIQUE_SET\r
-      EFI_IFR_NUMERIC_SIZE_1,                      // Data type of Question value               \r
+      EFI_IFR_TYPE_NUM_SIZE_32,                    // Data type of Question value               \r
       100,                                         // Maximum container                         \r
       OptionsOpCodeHandle,                         // Option Opcode list                        \r
       NULL                                         // Default Opcode is NULL                    \r
@@ -598,7 +598,7 @@ UpdateOrderPage (
   CopyMem (\r
     CallbackData->BmmOldFakeNVData.OptionOrder,\r
     CallbackData->BmmFakeNvData.OptionOrder,\r
-    100\r
+    sizeof (CallbackData->BmmOldFakeNVData.OptionOrder)\r
     );\r
 }\r
 \r
@@ -641,7 +641,7 @@ UpdateBootNextPage (
           OptionsOpCodeHandle,\r
           NewMenuEntry->DisplayStringToken,\r
           EFI_IFR_OPTION_DEFAULT,\r
-          EFI_IFR_NUMERIC_SIZE_2,\r
+          EFI_IFR_TYPE_NUM_SIZE_16,\r
           Index\r
           );\r
         CallbackData->BmmFakeNvData.BootNext = Index;\r
@@ -650,7 +650,7 @@ UpdateBootNextPage (
           OptionsOpCodeHandle,\r
           NewMenuEntry->DisplayStringToken,\r
           0,\r
-          EFI_IFR_NUMERIC_SIZE_2,\r
+          EFI_IFR_TYPE_NUM_SIZE_16,\r
           Index\r
           );\r
       }\r
@@ -661,7 +661,7 @@ UpdateBootNextPage (
         OptionsOpCodeHandle,\r
         STRING_TOKEN (STR_NONE),\r
         EFI_IFR_OPTION_DEFAULT,\r
-        EFI_IFR_NUMERIC_SIZE_2,\r
+        EFI_IFR_TYPE_NUM_SIZE_16,\r
         Index\r
         );\r
     } else {\r
@@ -669,7 +669,7 @@ UpdateBootNextPage (
         OptionsOpCodeHandle,\r
         STRING_TOKEN (STR_NONE),\r
         0,\r
-        EFI_IFR_NUMERIC_SIZE_2,\r
+        EFI_IFR_TYPE_NUM_SIZE_16,\r
         Index\r
         );\r
     }      \r
@@ -715,7 +715,7 @@ UpdateTimeOutPage (
 \r
   DefaultOpCodeHandle = HiiAllocateOpCodeHandle ();\r
   ASSERT (DefaultOpCodeHandle != NULL);\r
-  HiiCreateDefaultOpCode (DefaultOpCodeHandle, EFI_HII_DEFAULT_CLASS_STANDARD, EFI_IFR_NUMERIC_SIZE_2, BootTimeOut);\r
+  HiiCreateDefaultOpCode (DefaultOpCodeHandle, EFI_HII_DEFAULT_CLASS_STANDARD, EFI_IFR_TYPE_NUM_SIZE_16, BootTimeOut);\r
 \r
   HiiCreateNumericOpCode (\r
     mStartOpCodeHandle,\r
@@ -823,7 +823,7 @@ UpdateConModePage (
         OptionsOpCodeHandle,\r
         ModeToken[Index],\r
         EFI_IFR_OPTION_DEFAULT,\r
-        EFI_IFR_NUMERIC_SIZE_2,\r
+        EFI_IFR_TYPE_NUM_SIZE_16,\r
         (UINT16) Mode\r
         );\r
     } else {\r
@@ -831,7 +831,7 @@ UpdateConModePage (
         OptionsOpCodeHandle,\r
         ModeToken[Index],\r
         0,\r
-        EFI_IFR_NUMERIC_SIZE_2,\r
+        EFI_IFR_TYPE_NUM_SIZE_16,\r
         (UINT16) Mode\r
         );\r
     }\r
@@ -905,7 +905,7 @@ UpdateTerminalPage (
       OptionsOpCodeHandle,\r
       BaudRateList[Index].StringToken,\r
       CheckFlags,\r
-      EFI_IFR_NUMERIC_SIZE_1,\r
+      EFI_IFR_TYPE_NUM_SIZE_8,\r
       Index\r
       );\r
   }\r
@@ -940,7 +940,7 @@ UpdateTerminalPage (
       OptionsOpCodeHandle,\r
       DataBitsList[Index].StringToken,\r
       CheckFlags,\r
-      EFI_IFR_NUMERIC_SIZE_1,\r
+      EFI_IFR_TYPE_NUM_SIZE_8,\r
       Index\r
       );\r
   }\r
@@ -974,7 +974,7 @@ UpdateTerminalPage (
       OptionsOpCodeHandle,\r
       ParityList[Index].StringToken,\r
       CheckFlags,\r
-      EFI_IFR_NUMERIC_SIZE_1,\r
+      EFI_IFR_TYPE_NUM_SIZE_8,\r
       Index\r
       );\r
   }\r
@@ -1008,7 +1008,7 @@ UpdateTerminalPage (
       OptionsOpCodeHandle,\r
       StopBitsList[Index].StringToken,\r
       CheckFlags,\r
-      EFI_IFR_NUMERIC_SIZE_1,\r
+      EFI_IFR_TYPE_NUM_SIZE_8,\r
       Index\r
       );\r
   }\r
@@ -1041,7 +1041,7 @@ UpdateTerminalPage (
       OptionsOpCodeHandle,\r
       (EFI_STRING_ID) TerminalType[Index],\r
       CheckFlags,\r
-      EFI_IFR_NUMERIC_SIZE_1,\r
+      EFI_IFR_TYPE_NUM_SIZE_8,\r
       Index\r
       );\r
   }\r
@@ -1317,7 +1317,7 @@ UpdateSetLegacyDeviceOrderPage (
       OptionsOpCodeHandle,\r
       NewMenuEntry->DisplayStringToken,\r
       (UINT8) ((Index == 0) ? EFI_IFR_OPTION_DEFAULT : 0),\r
-      EFI_IFR_NUMERIC_SIZE_1,\r
+      EFI_IFR_TYPE_NUM_SIZE_8,\r
       (UINT8) ((BM_LEGACY_DEVICE_CONTEXT *) NewMenuEntry->VariableContext)->Index\r
       );\r
   }\r
@@ -1329,7 +1329,7 @@ UpdateSetLegacyDeviceOrderPage (
     OptionsOpCodeHandle,\r
     STRING_TOKEN (STR_DISABLE_LEGACY_DEVICE),\r
     0,\r
-    EFI_IFR_NUMERIC_SIZE_1,\r
+    EFI_IFR_TYPE_NUM_SIZE_8,\r
     0xFF\r
     );\r
 \r
index c7d6bc4ad1b5c0e72f6044a9053b15492d38552a..f476b40803efe531a7a981e5eee7bd146be660db 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Variable operation that will be used by bootmaint\r
 \r
-Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -1050,8 +1050,8 @@ Var_UpdateDriverOrder (
     FreePool (DriverOrderList);\r
   }\r
 \r
-  ASSERT (DriverOrderListSize <= (sizeof (CallbackData->BmmFakeNvData.OptionOrder) / sizeof (CallbackData->BmmFakeNvData.OptionOrder[0])));\r
-  for (Index = 0; Index < DriverOrderListSize; Index++) {\r
+  ASSERT (DriverOptionMenu.MenuNumber <= (sizeof (CallbackData->BmmFakeNvData.OptionOrder) / sizeof (CallbackData->BmmFakeNvData.OptionOrder[0])));\r
+  for (Index = 0; Index < DriverOptionMenu.MenuNumber; Index++) {\r
     NewDriverOrderList[Index] = (UINT16) (CallbackData->BmmFakeNvData.OptionOrder[Index] - 1);\r
   }\r
 \r