summaryrefslogtreecommitdiff
path: root/Core/MdeModulePkg
diff options
context:
space:
mode:
authorDandan Bi <dandan.bi@intel.com>2017-04-17 16:12:48 +0800
committerGuo Mang <mang.guo@intel.com>2017-07-12 11:24:19 +0800
commit0d9a07f019a4fec0f52bc259b6ed14116e3b0f60 (patch)
tree742c45000e6020669482bf776bf2a9e919db5e51 /Core/MdeModulePkg
parent67b3942919b14f79bce1d8b28978a4b32528e78b (diff)
downloadedk2-platforms-0d9a07f019a4fec0f52bc259b6ed14116e3b0f60.tar.xz
MdeModulePkg/BMMUiLib: Update codes of initializing ConsoleXXXCheck array
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> (cherry picked from commit d508fe87fe73f1e99c5e71ff2aa49459cbe68d2f)
Diffstat (limited to 'Core/MdeModulePkg')
-rw-r--r--Core/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c26
1 files changed, 25 insertions, 1 deletions
diff --git a/Core/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c b/Core/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c
index a145a77c70..b25c7a651b 100644
--- a/Core/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c
+++ b/Core/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c
@@ -1031,6 +1031,7 @@ GetConsoleInCheck (
BM_MENU_ENTRY *NewMenuEntry;
UINT8 *ConInCheck;
BM_CONSOLE_CONTEXT *NewConsoleContext;
+ BM_TERMINAL_CONTEXT *NewTerminalContext;
ASSERT (CallbackData != NULL);
@@ -1041,6 +1042,13 @@ GetConsoleInCheck (
NewConsoleContext = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;
ConInCheck[Index] = NewConsoleContext->IsActive;
}
+
+ for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {
+ NewMenuEntry = BOpt_GetMenuEntry (&TerminalMenu, Index);
+ NewTerminalContext = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;
+ ASSERT (Index + ConsoleInpMenu.MenuNumber < MAX_MENU_NUMBER);
+ ConInCheck[Index + ConsoleInpMenu.MenuNumber] = NewTerminalContext->IsConIn;
+ }
}
/**
@@ -1060,7 +1068,8 @@ GetConsoleOutCheck (
BM_MENU_ENTRY *NewMenuEntry;
UINT8 *ConOutCheck;
BM_CONSOLE_CONTEXT *NewConsoleContext;
-
+ BM_TERMINAL_CONTEXT *NewTerminalContext;
+
ASSERT (CallbackData != NULL);
ConOutCheck = &CallbackData->BmmFakeNvData.ConsoleOutCheck[0];
for (Index = 0; ((Index < ConsoleOutMenu.MenuNumber) && \
@@ -1069,6 +1078,13 @@ GetConsoleOutCheck (
NewConsoleContext = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;
ConOutCheck[Index] = NewConsoleContext->IsActive;
}
+
+ for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {
+ NewMenuEntry = BOpt_GetMenuEntry (&TerminalMenu, Index);
+ NewTerminalContext = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;
+ ASSERT (Index + ConsoleOutMenu.MenuNumber < MAX_MENU_NUMBER);
+ ConOutCheck[Index + ConsoleOutMenu.MenuNumber] = NewTerminalContext->IsConOut;
+ }
}
/**
@@ -1088,6 +1104,7 @@ GetConsoleErrCheck (
BM_MENU_ENTRY *NewMenuEntry;
UINT8 *ConErrCheck;
BM_CONSOLE_CONTEXT *NewConsoleContext;
+ BM_TERMINAL_CONTEXT *NewTerminalContext;
ASSERT (CallbackData != NULL);
ConErrCheck = &CallbackData->BmmFakeNvData.ConsoleErrCheck[0];
@@ -1097,6 +1114,13 @@ GetConsoleErrCheck (
NewConsoleContext = (BM_CONSOLE_CONTEXT *) NewMenuEntry->VariableContext;
ConErrCheck[Index] = NewConsoleContext->IsActive;
}
+
+ for (Index = 0; Index < TerminalMenu.MenuNumber; Index++) {
+ NewMenuEntry = BOpt_GetMenuEntry (&TerminalMenu, Index);
+ NewTerminalContext = (BM_TERMINAL_CONTEXT *) NewMenuEntry->VariableContext;
+ ASSERT (Index + ConsoleErrMenu.MenuNumber < MAX_MENU_NUMBER);
+ ConErrCheck[Index + ConsoleErrMenu.MenuNumber] = NewTerminalContext->IsStdErr;
+ }
}
/**