UINT8 *NewLegacyDev;\r
UINT8 *DisMap;\r
EFI_FORM_ID FormId;\r
- \r
- if ((Action == EFI_BROWSER_ACTION_FORM_OPEN) || (Action == EFI_BROWSER_ACTION_FORM_CLOSE)) {\r
- //\r
- // Do nothing for UEFI OPEN/CLOSE Action\r
- //\r
- return EFI_SUCCESS;\r
- }\r
+ Status = EFI_SUCCESS;\r
\r
- if ((Value == NULL) || (ActionRequest == NULL)) {\r
- return EFI_INVALID_PARAMETER;\r
- }\r
+ if (Action == EFI_BROWSER_ACTION_CHANGING) {\r
+ if ((Value == NULL) || (ActionRequest == NULL)) {\r
+ return EFI_INVALID_PARAMETER;\r
+ }\r
\r
- OldValue = 0;\r
- NewValue = 0;\r
- Number = 0;\r
- OldLegacyDev = NULL;\r
- NewLegacyDev = NULL;\r
- NewValuePos = 0;\r
- DisMap = NULL;\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_NONE;\r
+ OldValue = 0;\r
+ NewValue = 0;\r
+ Number = 0;\r
+ OldLegacyDev = NULL;\r
+ NewLegacyDev = NULL;\r
+ NewValuePos = 0;\r
+ DisMap = NULL;\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_NONE;\r
\r
- Private = BMM_CALLBACK_DATA_FROM_THIS (This);\r
- UpdatePageId (Private, QuestionId);\r
+ Private = BMM_CALLBACK_DATA_FROM_THIS (This);\r
+ UpdatePageId (Private, QuestionId);\r
\r
- //\r
- // Retrive uncommitted data from Form Browser\r
- //\r
- CurrentFakeNVMap = &Private->BmmFakeNvData;\r
- HiiGetBrowserData (&mBootMaintGuid, mBootMaintStorageName, sizeof (BMM_FAKE_NV_DATA), (UINT8 *) CurrentFakeNVMap);\r
+ //\r
+ // Retrive uncommitted data from Form Browser\r
+ //\r
+ CurrentFakeNVMap = &Private->BmmFakeNvData;\r
+ HiiGetBrowserData (&mBootMaintGuid, mBootMaintStorageName, sizeof (BMM_FAKE_NV_DATA), (UINT8 *) CurrentFakeNVMap);\r
\r
- //\r
- // need to be subtituded.\r
- //\r
- // Update Select FD/HD/CD/NET/BEV Order Form\r
- //\r
- if (FORM_SET_FD_ORDER_ID == Private->BmmPreviousPageId ||\r
- FORM_SET_HD_ORDER_ID == Private->BmmPreviousPageId ||\r
- FORM_SET_CD_ORDER_ID == Private->BmmPreviousPageId ||\r
- FORM_SET_NET_ORDER_ID == Private->BmmPreviousPageId ||\r
- FORM_SET_BEV_ORDER_ID == Private->BmmPreviousPageId ||\r
- ((FORM_BOOT_SETUP_ID == Private->BmmPreviousPageId) &&\r
- (QuestionId >= LEGACY_FD_QUESTION_ID) &&\r
- (QuestionId < (LEGACY_BEV_QUESTION_ID + 100)) )\r
- ) {\r
-\r
- DisMap = Private->BmmOldFakeNVData.DisableMap;\r
-\r
- FormId = Private->BmmPreviousPageId;\r
- if (FormId == FORM_BOOT_SETUP_ID) {\r
- FormId = Private->BmmCurrentPageId;\r
- }\r
+ //\r
+ // need to be subtituded.\r
+ //\r
+ // Update Select FD/HD/CD/NET/BEV Order Form\r
+ //\r
+ if (FORM_SET_FD_ORDER_ID == Private->BmmPreviousPageId ||\r
+ FORM_SET_HD_ORDER_ID == Private->BmmPreviousPageId ||\r
+ FORM_SET_CD_ORDER_ID == Private->BmmPreviousPageId ||\r
+ FORM_SET_NET_ORDER_ID == Private->BmmPreviousPageId ||\r
+ FORM_SET_BEV_ORDER_ID == Private->BmmPreviousPageId ||\r
+ ((FORM_BOOT_SETUP_ID == Private->BmmPreviousPageId) &&\r
+ (QuestionId >= LEGACY_FD_QUESTION_ID) &&\r
+ (QuestionId < (LEGACY_BEV_QUESTION_ID + 100)) )\r
+ ) {\r
+\r
+ DisMap = Private->BmmOldFakeNVData.DisableMap;\r
+\r
+ FormId = Private->BmmPreviousPageId;\r
+ if (FormId == FORM_BOOT_SETUP_ID) {\r
+ FormId = Private->BmmCurrentPageId;\r
+ }\r
\r
- switch (FormId) {\r
- case FORM_SET_FD_ORDER_ID:\r
- Number = (UINT16) LegacyFDMenu.MenuNumber;\r
- OldLegacyDev = Private->BmmOldFakeNVData.LegacyFD;\r
- NewLegacyDev = CurrentFakeNVMap->LegacyFD;\r
- break;\r
+ switch (FormId) {\r
+ case FORM_SET_FD_ORDER_ID:\r
+ Number = (UINT16) LegacyFDMenu.MenuNumber;\r
+ OldLegacyDev = Private->BmmOldFakeNVData.LegacyFD;\r
+ NewLegacyDev = CurrentFakeNVMap->LegacyFD;\r
+ break;\r
\r
- case FORM_SET_HD_ORDER_ID:\r
- Number = (UINT16) LegacyHDMenu.MenuNumber;\r
- OldLegacyDev = Private->BmmOldFakeNVData.LegacyHD;\r
- NewLegacyDev = CurrentFakeNVMap->LegacyHD;\r
- break;\r
+ case FORM_SET_HD_ORDER_ID:\r
+ Number = (UINT16) LegacyHDMenu.MenuNumber;\r
+ OldLegacyDev = Private->BmmOldFakeNVData.LegacyHD;\r
+ NewLegacyDev = CurrentFakeNVMap->LegacyHD;\r
+ break;\r
\r
- case FORM_SET_CD_ORDER_ID:\r
- Number = (UINT16) LegacyCDMenu.MenuNumber;\r
- OldLegacyDev = Private->BmmOldFakeNVData.LegacyCD;\r
- NewLegacyDev = CurrentFakeNVMap->LegacyCD;\r
- break;\r
+ case FORM_SET_CD_ORDER_ID:\r
+ Number = (UINT16) LegacyCDMenu.MenuNumber;\r
+ OldLegacyDev = Private->BmmOldFakeNVData.LegacyCD;\r
+ NewLegacyDev = CurrentFakeNVMap->LegacyCD;\r
+ break;\r
\r
- case FORM_SET_NET_ORDER_ID:\r
- Number = (UINT16) LegacyNETMenu.MenuNumber;\r
- OldLegacyDev = Private->BmmOldFakeNVData.LegacyNET;\r
- NewLegacyDev = CurrentFakeNVMap->LegacyNET;\r
- break;\r
+ case FORM_SET_NET_ORDER_ID:\r
+ Number = (UINT16) LegacyNETMenu.MenuNumber;\r
+ OldLegacyDev = Private->BmmOldFakeNVData.LegacyNET;\r
+ NewLegacyDev = CurrentFakeNVMap->LegacyNET;\r
+ break;\r
\r
- case FORM_SET_BEV_ORDER_ID:\r
- Number = (UINT16) LegacyBEVMenu.MenuNumber;\r
- OldLegacyDev = Private->BmmOldFakeNVData.LegacyBEV;\r
- NewLegacyDev = CurrentFakeNVMap->LegacyBEV;\r
- break;\r
+ case FORM_SET_BEV_ORDER_ID:\r
+ Number = (UINT16) LegacyBEVMenu.MenuNumber;\r
+ OldLegacyDev = Private->BmmOldFakeNVData.LegacyBEV;\r
+ NewLegacyDev = CurrentFakeNVMap->LegacyBEV;\r
+ break;\r
\r
- default:\r
- break;\r
- }\r
- //\r
- // First, find the different position\r
- // if there is change, it should be only one\r
- //\r
- for (Index = 0; Index < Number; Index++) {\r
- if (OldLegacyDev[Index] != NewLegacyDev[Index]) {\r
- OldValue = OldLegacyDev[Index];\r
- NewValue = NewLegacyDev[Index];\r
+ default:\r
break;\r
}\r
- }\r
-\r
- if (Index != Number) {\r
//\r
- // there is change, now process\r
+ // First, find the different position\r
+ // if there is change, it should be only one\r
//\r
- if (0xFF == NewValue) {\r
+ for (Index = 0; Index < Number; Index++) {\r
+ if (OldLegacyDev[Index] != NewLegacyDev[Index]) {\r
+ OldValue = OldLegacyDev[Index];\r
+ NewValue = NewLegacyDev[Index];\r
+ break;\r
+ }\r
+ }\r
+\r
+ if (Index != Number) {\r
//\r
- // This item will be disable\r
- // Just move the items behind this forward to overlap it\r
+ // there is change, now process\r
//\r
- Pos = OldValue / 8;\r
- Bit = 7 - (OldValue % 8);\r
- DisMap[Pos] = (UINT8) (DisMap[Pos] | (UINT8) (1 << Bit));\r
- for (Index2 = Index; Index2 < Number - 1; Index2++) {\r
- NewLegacyDev[Index2] = NewLegacyDev[Index2 + 1];\r
- }\r
+ if (0xFF == NewValue) {\r
+ //\r
+ // This item will be disable\r
+ // Just move the items behind this forward to overlap it\r
+ //\r
+ Pos = OldValue / 8;\r
+ Bit = 7 - (OldValue % 8);\r
+ DisMap[Pos] = (UINT8) (DisMap[Pos] | (UINT8) (1 << Bit));\r
+ for (Index2 = Index; Index2 < Number - 1; Index2++) {\r
+ NewLegacyDev[Index2] = NewLegacyDev[Index2 + 1];\r
+ }\r
\r
- NewLegacyDev[Index2] = 0xFF;\r
- } else {\r
- for (Index2 = 0; Index2 < Number; Index2++) {\r
- if (Index2 == Index) {\r
- continue;\r
+ NewLegacyDev[Index2] = 0xFF;\r
+ } else {\r
+ for (Index2 = 0; Index2 < Number; Index2++) {\r
+ if (Index2 == Index) {\r
+ continue;\r
+ }\r
+\r
+ if (OldLegacyDev[Index2] == NewValue) {\r
+ //\r
+ // If NewValue is in OldLegacyDev array\r
+ // remember its old position\r
+ //\r
+ NewValuePos = Index2;\r
+ break;\r
+ }\r
}\r
\r
- if (OldLegacyDev[Index2] == NewValue) {\r
+ if (Index2 != Number) {\r
//\r
- // If NewValue is in OldLegacyDev array\r
- // remember its old position\r
+ // We will change current item to an existing item\r
+ // (It's hard to describe here, please read code, it's like a cycle-moving)\r
//\r
- NewValuePos = Index2;\r
- break;\r
- }\r
- }\r
-\r
- if (Index2 != Number) {\r
- //\r
- // We will change current item to an existing item\r
- // (It's hard to describe here, please read code, it's like a cycle-moving)\r
- //\r
- for (Index2 = NewValuePos; Index2 != Index;) {\r
- if (NewValuePos < Index) {\r
- NewLegacyDev[Index2] = OldLegacyDev[Index2 + 1];\r
- Index2++;\r
- } else {\r
- NewLegacyDev[Index2] = OldLegacyDev[Index2 - 1];\r
- Index2--;\r
+ for (Index2 = NewValuePos; Index2 != Index;) {\r
+ if (NewValuePos < Index) {\r
+ NewLegacyDev[Index2] = OldLegacyDev[Index2 + 1];\r
+ Index2++;\r
+ } else {\r
+ NewLegacyDev[Index2] = OldLegacyDev[Index2 - 1];\r
+ Index2--;\r
+ }\r
}\r
- }\r
- } else {\r
- //\r
- // If NewValue is not in OldlegacyDev array, we are changing to a disabled item\r
- // so we should modify DisMap to reflect the change\r
- //\r
- Pos = NewValue / 8;\r
- Bit = 7 - (NewValue % 8);\r
- DisMap[Pos] = (UINT8) (DisMap[Pos] & (~ (UINT8) (1 << Bit)));\r
- if (0xFF != OldValue) {\r
+ } else {\r
//\r
- // Because NewValue is a item that was disabled before\r
- // so after changing the OldValue should be disabled\r
- // actually we are doing a swap of enable-disable states of two items\r
+ // If NewValue is not in OldlegacyDev array, we are changing to a disabled item\r
+ // so we should modify DisMap to reflect the change\r
//\r
- Pos = OldValue / 8;\r
- Bit = 7 - (OldValue % 8);\r
- DisMap[Pos] = (UINT8) (DisMap[Pos] | (UINT8) (1 << Bit));\r
+ Pos = NewValue / 8;\r
+ Bit = 7 - (NewValue % 8);\r
+ DisMap[Pos] = (UINT8) (DisMap[Pos] & (~ (UINT8) (1 << Bit)));\r
+ if (0xFF != OldValue) {\r
+ //\r
+ // Because NewValue is a item that was disabled before\r
+ // so after changing the OldValue should be disabled\r
+ // actually we are doing a swap of enable-disable states of two items\r
+ //\r
+ Pos = OldValue / 8;\r
+ Bit = 7 - (OldValue % 8);\r
+ DisMap[Pos] = (UINT8) (DisMap[Pos] | (UINT8) (1 << Bit));\r
+ }\r
}\r
}\r
- }\r
- //\r
- // To prevent DISABLE appears in the middle of the list\r
- // we should perform a re-ordering\r
- //\r
- Index = 0;\r
- while (Index < Number) {\r
- if (0xFF != NewLegacyDev[Index]) {\r
- Index++;\r
- continue;\r
- }\r
-\r
- Index2 = Index;\r
- Index2++;\r
- while (Index2 < Number) {\r
- if (0xFF != NewLegacyDev[Index2]) {\r
- break;\r
+ //\r
+ // To prevent DISABLE appears in the middle of the list\r
+ // we should perform a re-ordering\r
+ //\r
+ Index = 0;\r
+ while (Index < Number) {\r
+ if (0xFF != NewLegacyDev[Index]) {\r
+ Index++;\r
+ continue;\r
}\r
\r
+ Index2 = Index;\r
Index2++;\r
- }\r
+ while (Index2 < Number) {\r
+ if (0xFF != NewLegacyDev[Index2]) {\r
+ break;\r
+ }\r
\r
- if (Index2 < Number) {\r
- NewLegacyDev[Index] = NewLegacyDev[Index2];\r
- NewLegacyDev[Index2] = 0xFF;\r
+ Index2++;\r
+ }\r
+\r
+ if (Index2 < Number) {\r
+ NewLegacyDev[Index] = NewLegacyDev[Index2];\r
+ NewLegacyDev[Index2] = 0xFF;\r
+ }\r
+\r
+ Index++;\r
}\r
\r
- Index++;\r
+ CopyMem (\r
+ OldLegacyDev,\r
+ NewLegacyDev,\r
+ Number\r
+ );\r
}\r
-\r
- CopyMem (\r
- OldLegacyDev,\r
- NewLegacyDev,\r
- Number\r
- );\r
}\r
- }\r
-\r
- if (QuestionId < FILE_OPTION_OFFSET) {\r
- if (QuestionId < CONFIG_OPTION_OFFSET) {\r
- switch (QuestionId) {\r
- case KEY_VALUE_BOOT_FROM_FILE:\r
- Private->FeCurrentState = FileExplorerStateBootFromFile;\r
-\r
- //\r
- // Exit Bmm main formset to send File Explorer formset.\r
- //\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
- break;\r
-\r
- case FORM_BOOT_ADD_ID:\r
- Private->FeCurrentState = FileExplorerStateAddBootOption;\r
-\r
- //\r
- // Exit Bmm main formset to send File Explorer formset.\r
- //\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
- break;\r
-\r
- case FORM_DRV_ADD_FILE_ID:\r
- Private->FeCurrentState = FileExplorerStateAddDriverOptionState;\r
-\r
- //\r
- // Exit Bmm main formset to send File Explorer formset.\r
- //\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
- break;\r
-\r
- case FORM_DRV_ADD_HANDLE_ID:\r
- CleanUpPage (FORM_DRV_ADD_HANDLE_ID, Private);\r
- UpdateDrvAddHandlePage (Private);\r
- break;\r
\r
- case FORM_BOOT_DEL_ID:\r
- CleanUpPage (FORM_BOOT_DEL_ID, Private);\r
- UpdateBootDelPage (Private);\r
- break;\r
+ if (QuestionId < FILE_OPTION_OFFSET) {\r
+ if (QuestionId < CONFIG_OPTION_OFFSET) {\r
+ switch (QuestionId) {\r
+ case KEY_VALUE_BOOT_FROM_FILE:\r
+ Private->FeCurrentState = FileExplorerStateBootFromFile;\r
\r
- case FORM_BOOT_CHG_ID:\r
- case FORM_DRV_CHG_ID:\r
- UpdatePageBody (QuestionId, Private);\r
- break;\r
-\r
- case FORM_DRV_DEL_ID:\r
- CleanUpPage (FORM_DRV_DEL_ID, Private);\r
- UpdateDrvDelPage (Private);\r
- break;\r
-\r
- case FORM_BOOT_NEXT_ID:\r
- CleanUpPage (FORM_BOOT_NEXT_ID, Private);\r
- UpdateBootNextPage (Private);\r
- break;\r
-\r
- case FORM_TIME_OUT_ID:\r
- CleanUpPage (FORM_TIME_OUT_ID, Private);\r
- UpdateTimeOutPage (Private);\r
- break;\r
-\r
- case FORM_RESET:\r
- gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);\r
- return EFI_UNSUPPORTED;\r
-\r
- case FORM_CON_IN_ID:\r
- case FORM_CON_OUT_ID:\r
- case FORM_CON_ERR_ID:\r
- UpdatePageBody (QuestionId, Private);\r
- break;\r
-\r
- case FORM_CON_MODE_ID:\r
- CleanUpPage (FORM_CON_MODE_ID, Private);\r
- UpdateConModePage (Private);\r
- break;\r
+ //\r
+ // Exit Bmm main formset to send File Explorer formset.\r
+ //\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+ break;\r
\r
- case FORM_CON_COM_ID:\r
- CleanUpPage (FORM_CON_COM_ID, Private);\r
- UpdateConCOMPage (Private);\r
- break;\r
+ case FORM_BOOT_ADD_ID:\r
+ Private->FeCurrentState = FileExplorerStateAddBootOption;\r
\r
- case FORM_SET_FD_ORDER_ID:\r
- case FORM_SET_HD_ORDER_ID:\r
- case FORM_SET_CD_ORDER_ID:\r
- case FORM_SET_NET_ORDER_ID:\r
- case FORM_SET_BEV_ORDER_ID:\r
- CleanUpPage (QuestionId, Private);\r
- UpdateSetLegacyDeviceOrderPage (QuestionId, Private);\r
- break;\r
+ //\r
+ // Exit Bmm main formset to send File Explorer formset.\r
+ //\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+ break;\r
\r
- case KEY_VALUE_SAVE_AND_EXIT:\r
- case KEY_VALUE_NO_SAVE_AND_EXIT:\r
+ case FORM_DRV_ADD_FILE_ID:\r
+ Private->FeCurrentState = FileExplorerStateAddDriverOptionState;\r
\r
- if (QuestionId == KEY_VALUE_SAVE_AND_EXIT) {\r
- Status = ApplyChangeHandler (Private, CurrentFakeNVMap, Private->BmmPreviousPageId);\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
+ //\r
+ // Exit Bmm main formset to send File Explorer formset.\r
+ //\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_EXIT;\r
+ break;\r
+\r
+ case FORM_DRV_ADD_HANDLE_ID:\r
+ CleanUpPage (FORM_DRV_ADD_HANDLE_ID, Private);\r
+ UpdateDrvAddHandlePage (Private);\r
+ break;\r
+\r
+ case FORM_BOOT_DEL_ID:\r
+ CleanUpPage (FORM_BOOT_DEL_ID, Private);\r
+ UpdateBootDelPage (Private);\r
+ break;\r
+\r
+ case FORM_BOOT_CHG_ID:\r
+ case FORM_DRV_CHG_ID:\r
+ UpdatePageBody (QuestionId, Private);\r
+ break;\r
+\r
+ case FORM_DRV_DEL_ID:\r
+ CleanUpPage (FORM_DRV_DEL_ID, Private);\r
+ UpdateDrvDelPage (Private);\r
+ break;\r
+\r
+ case FORM_BOOT_NEXT_ID:\r
+ CleanUpPage (FORM_BOOT_NEXT_ID, Private);\r
+ UpdateBootNextPage (Private);\r
+ break;\r
+\r
+ case FORM_TIME_OUT_ID:\r
+ CleanUpPage (FORM_TIME_OUT_ID, Private);\r
+ UpdateTimeOutPage (Private);\r
+ break;\r
+\r
+ case FORM_RESET:\r
+ gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);\r
+ return EFI_UNSUPPORTED;\r
+\r
+ case FORM_CON_IN_ID:\r
+ case FORM_CON_OUT_ID:\r
+ case FORM_CON_ERR_ID:\r
+ UpdatePageBody (QuestionId, Private);\r
+ break;\r
+\r
+ case FORM_CON_MODE_ID:\r
+ CleanUpPage (FORM_CON_MODE_ID, Private);\r
+ UpdateConModePage (Private);\r
+ break;\r
+\r
+ case FORM_CON_COM_ID:\r
+ CleanUpPage (FORM_CON_COM_ID, Private);\r
+ UpdateConCOMPage (Private);\r
+ break;\r
+\r
+ case FORM_SET_FD_ORDER_ID:\r
+ case FORM_SET_HD_ORDER_ID:\r
+ case FORM_SET_CD_ORDER_ID:\r
+ case FORM_SET_NET_ORDER_ID:\r
+ case FORM_SET_BEV_ORDER_ID:\r
+ CleanUpPage (QuestionId, Private);\r
+ UpdateSetLegacyDeviceOrderPage (QuestionId, Private);\r
+ break;\r
+\r
+ case KEY_VALUE_SAVE_AND_EXIT:\r
+ case KEY_VALUE_NO_SAVE_AND_EXIT:\r
+\r
+ if (QuestionId == KEY_VALUE_SAVE_AND_EXIT) {\r
+ Status = ApplyChangeHandler (Private, CurrentFakeNVMap, Private->BmmPreviousPageId);\r
+ if (EFI_ERROR (Status)) {\r
+ return Status;\r
+ }\r
+ } else if (QuestionId == KEY_VALUE_NO_SAVE_AND_EXIT) {\r
+ DiscardChangeHandler (Private, CurrentFakeNVMap);\r
}\r
- } else if (QuestionId == KEY_VALUE_NO_SAVE_AND_EXIT) {\r
- DiscardChangeHandler (Private, CurrentFakeNVMap);\r
- }\r
\r
- //\r
- // Tell browser not to ask for confirmation of changes,\r
- // since we have already applied or discarded.\r
- //\r
- *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
- break;\r
+ //\r
+ // Tell browser not to ask for confirmation of changes,\r
+ // since we have already applied or discarded.\r
+ //\r
+ *ActionRequest = EFI_BROWSER_ACTION_REQUEST_SUBMIT;\r
+ break;\r
\r
- default:\r
- break;\r
- }\r
- } else if ((QuestionId >= TERMINAL_OPTION_OFFSET) && (QuestionId < CONSOLE_OPTION_OFFSET)) {\r
- Index2 = (UINT16) (QuestionId - TERMINAL_OPTION_OFFSET);\r
- Private->CurrentTerminal = Index2;\r
+ default:\r
+ break;\r
+ }\r
+ } else if ((QuestionId >= TERMINAL_OPTION_OFFSET) && (QuestionId < CONSOLE_OPTION_OFFSET)) {\r
+ Index2 = (UINT16) (QuestionId - TERMINAL_OPTION_OFFSET);\r
+ Private->CurrentTerminal = Index2;\r
\r
- CleanUpPage (FORM_CON_COM_SETUP_ID, Private);\r
- UpdateTerminalPage (Private);\r
+ CleanUpPage (FORM_CON_COM_SETUP_ID, Private);\r
+ UpdateTerminalPage (Private);\r
\r
- } else if (QuestionId >= HANDLE_OPTION_OFFSET) {\r
- Index2 = (UINT16) (QuestionId - HANDLE_OPTION_OFFSET);\r
+ } else if (QuestionId >= HANDLE_OPTION_OFFSET) {\r
+ Index2 = (UINT16) (QuestionId - HANDLE_OPTION_OFFSET);\r
\r
- NewMenuEntry = BOpt_GetMenuEntry (&DriverMenu, Index2);\r
- ASSERT (NewMenuEntry != NULL);\r
- Private->HandleContext = (BM_HANDLE_CONTEXT *) NewMenuEntry->VariableContext;\r
+ NewMenuEntry = BOpt_GetMenuEntry (&DriverMenu, Index2);\r
+ ASSERT (NewMenuEntry != NULL);\r
+ Private->HandleContext = (BM_HANDLE_CONTEXT *) NewMenuEntry->VariableContext;\r
\r
- CleanUpPage (FORM_DRV_ADD_HANDLE_DESC_ID, Private);\r
+ CleanUpPage (FORM_DRV_ADD_HANDLE_DESC_ID, Private);\r
\r
- Private->MenuEntry = NewMenuEntry;\r
- Private->LoadContext->FilePathList = Private->HandleContext->DevicePath;\r
+ Private->MenuEntry = NewMenuEntry;\r
+ Private->LoadContext->FilePathList = Private->HandleContext->DevicePath;\r
\r
- UpdateDriverAddHandleDescPage (Private);\r
+ UpdateDriverAddHandleDescPage (Private);\r
+ }\r
}\r
+\r
+ //\r
+ // Pass changed uncommitted data back to Form Browser\r
+ //\r
+ Status = HiiSetBrowserData (&mBootMaintGuid, mBootMaintStorageName, sizeof (BMM_FAKE_NV_DATA), (UINT8 *) CurrentFakeNVMap, NULL);\r
+ return Status;\r
}\r
\r
//\r
- // Pass changed uncommitted data back to Form Browser\r
+ // All other action return unsupported.\r
//\r
- Status = HiiSetBrowserData (&mBootMaintGuid, mBootMaintStorageName, sizeof (BMM_FAKE_NV_DATA), (UINT8 *) CurrentFakeNVMap, NULL);\r
-\r
- return Status;\r
+ return EFI_UNSUPPORTED;\r
}\r
\r
/**\r