]> git.proxmox.com Git - mirror_edk2.git/commitdiff
MdeModulePkg/BMMUiLib: Update codes of initializing ConsoleXXXCheck array
authorDandan Bi <dandan.bi@intel.com>
Mon, 17 Apr 2017 08:12:48 +0000 (16:12 +0800)
committerHao Wu <hao.a.wu@intel.com>
Tue, 18 Apr 2017 07:56:21 +0000 (15:56 +0800)
When initializing ConsoleOutCheck/ConsoleInCheck/ConsoleErrCheck array in
BMM_FAKE_NV_DATA structure, also need to consider whether the terminal
device is ConOut/ConIn/ConErr or not.

Cc: Eric Dong <eric.dong@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <dandan.bi@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c

index a145a77c70a1149f50eda20d31e8f1bee3e6c454..b25c7a651bf625b23a6b1e2c4e34bfae65ebbe37 100644 (file)
@@ -1031,6 +1031,7 @@ GetConsoleInCheck (
   BM_MENU_ENTRY       *NewMenuEntry; \r
   UINT8               *ConInCheck;\r
   BM_CONSOLE_CONTEXT  *NewConsoleContext;\r
+  BM_TERMINAL_CONTEXT *NewTerminalContext;\r
 \r
   ASSERT (CallbackData != NULL);\r
 \r
@@ -1041,6 +1042,13 @@ GetConsoleInCheck (
     NewConsoleContext = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;  \r
     ConInCheck[Index] = NewConsoleContext->IsActive;\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
+    ConInCheck[Index + ConsoleInpMenu.MenuNumber] = NewTerminalContext->IsConIn;\r
+  }\r
 }\r
 \r
 /**\r
@@ -1060,7 +1068,8 @@ GetConsoleOutCheck (
   BM_MENU_ENTRY       *NewMenuEntry; \r
   UINT8               *ConOutCheck;\r
   BM_CONSOLE_CONTEXT  *NewConsoleContext;\r
-  \r
+  BM_TERMINAL_CONTEXT *NewTerminalContext;\r
+\r
   ASSERT (CallbackData != NULL);\r
   ConOutCheck = &CallbackData->BmmFakeNvData.ConsoleOutCheck[0];\r
   for (Index = 0; ((Index < ConsoleOutMenu.MenuNumber) && \\r
@@ -1069,6 +1078,13 @@ GetConsoleOutCheck (
     NewConsoleContext = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;  \r
     ConOutCheck[Index] = NewConsoleContext->IsActive;\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
+    ConOutCheck[Index + ConsoleOutMenu.MenuNumber] = NewTerminalContext->IsConOut;\r
+  }\r
 }\r
 \r
 /**\r
@@ -1088,6 +1104,7 @@ GetConsoleErrCheck (
   BM_MENU_ENTRY       *NewMenuEntry; \r
   UINT8               *ConErrCheck;\r
   BM_CONSOLE_CONTEXT  *NewConsoleContext;\r
+  BM_TERMINAL_CONTEXT *NewTerminalContext;\r
 \r
   ASSERT (CallbackData != NULL);\r
   ConErrCheck = &CallbackData->BmmFakeNvData.ConsoleErrCheck[0];\r
@@ -1097,6 +1114,13 @@ GetConsoleErrCheck (
     NewConsoleContext = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;  \r
     ConErrCheck[Index] = NewConsoleContext->IsActive;\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
+    ConErrCheck[Index + ConsoleErrMenu.MenuNumber] = NewTerminalContext->IsStdErr;\r
+  }\r
 }\r
 \r
 /**\r