]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/BootMaint/UpdatePage.c
Enhance BMM to support changing FlowControl setting in Front Page.
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / BootMaint / UpdatePage.c
index aaa33600426bc36aa83690ca647c46414b98983a..ece88524cbd0729f4d1a675ff8d8e3cd62d7ef49 100644 (file)
@@ -1076,6 +1076,34 @@ UpdateTerminalPage (
     NULL\r
     );\r
 \r
+  HiiFreeOpCodeHandle (OptionsOpCodeHandle);\r
+  OptionsOpCodeHandle = HiiAllocateOpCodeHandle ();\r
+  ASSERT (OptionsOpCodeHandle != NULL);\r
+\r
+  CallbackData->BmmFakeNvData.COMFlowControl = NewTerminalContext->FlowControl;\r
+  for (Index = 0; Index < sizeof (mFlowControlType) / sizeof (mFlowControlType[0]); Index++) {\r
+    HiiCreateOneOfOptionOpCode (\r
+      OptionsOpCodeHandle,\r
+      (EFI_STRING_ID) mFlowControlType[Index],\r
+      0,\r
+      EFI_IFR_TYPE_NUM_SIZE_8,\r
+      mFlowControlValue[Index]\r
+      );\r
+  }\r
+\r
+  HiiCreateOneOfOpCode (\r
+    mStartOpCodeHandle,\r
+    (EFI_QUESTION_ID) COM_FLOWCONTROL_QUESTION_ID,\r
+    VARSTORE_ID_BOOT_MAINT,\r
+    COM_FLOWCONTROL_VAR_OFFSET,\r
+    STRING_TOKEN (STR_COM_FLOW_CONTROL),\r
+    STRING_TOKEN (STR_COM_FLOW_CONTROL),\r
+    0,\r
+    EFI_IFR_NUMERIC_SIZE_1,\r
+    OptionsOpCodeHandle,\r
+    NULL\r
+    );\r
+\r
   HiiFreeOpCodeHandle (OptionsOpCodeHandle);\r
 \r
   UpdatePageEnd (CallbackData);\r