From: Ruiyu Ni Date: Wed, 19 Aug 2015 10:01:31 +0000 (+0000) Subject: MdeModulePkg: Update UiApp to handle terminal type TtyTerm X-Git-Tag: edk2-stable201903~9049 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=4cac5c0526f15f01e97f1ca1c703307fd459d4c1 MdeModulePkg: Update UiApp to handle terminal type TtyTerm Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni Reviewed-by: Eric Dong git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18236 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Application/UiApp/BootMaint/Bmstring.uni b/MdeModulePkg/Application/UiApp/BootMaint/Bmstring.uni index 8d9544db45..a208127ac6 100644 Binary files a/MdeModulePkg/Application/UiApp/BootMaint/Bmstring.uni and b/MdeModulePkg/Application/UiApp/BootMaint/Bmstring.uni differ diff --git a/MdeModulePkg/Application/UiApp/BootMaint/BootMaint.h b/MdeModulePkg/Application/UiApp/BootMaint/BootMaint.h index 69cf7605b9..e1ac307639 100644 --- a/MdeModulePkg/Application/UiApp/BootMaint/BootMaint.h +++ b/MdeModulePkg/Application/UiApp/BootMaint/BootMaint.h @@ -18,6 +18,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include "Ui.h" #include "FormGuid.h" #include "FrontPage.h" +#include // // Constants which are variable names used to access variables @@ -81,7 +82,8 @@ typedef enum _TYPE_OF_TERMINAL { TerminalTypePcAnsi = 0, TerminalTypeVt100, TerminalTypeVt100Plus, - TerminalTypeVtUtf8 + TerminalTypeVtUtf8, + TerminalTypeTtyTerm } TYPE_OF_TERMINAL; typedef enum _FILE_EXPLORER_STATE { @@ -1452,12 +1454,12 @@ extern BM_MENU_OPTION ConsoleErrMenu; extern BM_MENU_OPTION DirectoryMenu; extern BM_MENU_OPTION DriverMenu; extern BM_MENU_OPTION TerminalMenu; -extern UINT16 TerminalType[]; +extern UINT16 TerminalType[5]; extern COM_ATTR BaudRateList[19]; extern COM_ATTR DataBitsList[4]; extern COM_ATTR ParityList[5]; extern COM_ATTR StopBitsList[3]; -extern EFI_GUID TerminalTypeGuid[4]; +extern EFI_GUID TerminalTypeGuid[5]; extern STRING_DEPOSITORY *FileOptionStrDepository; extern STRING_DEPOSITORY *ConsoleOptionStrDepository; extern STRING_DEPOSITORY *BootOptionStrDepository; diff --git a/MdeModulePkg/Application/UiApp/BootMaint/ConsoleOption.c b/MdeModulePkg/Application/UiApp/BootMaint/ConsoleOption.c index d86c73352d..f164db2051 100644 --- a/MdeModulePkg/Application/UiApp/BootMaint/ConsoleOption.c +++ b/MdeModulePkg/Application/UiApp/BootMaint/ConsoleOption.c @@ -564,7 +564,7 @@ LocateSerialIo ( Vendor.Header.Type = MESSAGING_DEVICE_PATH; Vendor.Header.SubType = MSG_VENDOR_DP; - for (Index2 = 0; Index2 < 4; Index2++) { + for (Index2 = 0; Index2 < (sizeof (TerminalTypeGuid) / sizeof (TerminalTypeGuid[0])); Index2++) { CopyMem (&Vendor.Guid, &TerminalTypeGuid[Index2], sizeof (EFI_GUID)); SetDevicePathNodeLength (&Vendor.Header, sizeof (VENDOR_DEVICE_PATH)); NewDevicePath = AppendDevicePathNode ( @@ -940,7 +940,12 @@ IsTerminalDevicePath ( *Termi = TerminalTypeVtUtf8; IsTerminal = TRUE; } else { - IsTerminal = FALSE; + if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[4])) { + *Termi = TerminalTypeTtyTerm; + IsTerminal = TRUE; + } else { + IsTerminal = FALSE; + } } } } diff --git a/MdeModulePkg/Application/UiApp/BootMaint/Data.c b/MdeModulePkg/Application/UiApp/BootMaint/Data.c index 7e86211b4e..caf6c609ed 100644 --- a/MdeModulePkg/Application/UiApp/BootMaint/Data.c +++ b/MdeModulePkg/Application/UiApp/BootMaint/Data.c @@ -35,6 +35,7 @@ UINT16 TerminalType[] = { STRING_TOKEN(STR_COM_TYPE_1), STRING_TOKEN(STR_COM_TYPE_2), STRING_TOKEN(STR_COM_TYPE_3), + STRING_TOKEN(STR_COM_TYPE_4), }; /// @@ -266,9 +267,10 @@ COM_ATTR StopBitsList[3] = { /// /// Guid for messaging path, used in Serial port setting. /// -EFI_GUID TerminalTypeGuid[4] = { +EFI_GUID TerminalTypeGuid[] = { DEVICE_PATH_MESSAGING_PC_ANSI, DEVICE_PATH_MESSAGING_VT_100, DEVICE_PATH_MESSAGING_VT_100_PLUS, - DEVICE_PATH_MESSAGING_VT_UTF8 + DEVICE_PATH_MESSAGING_VT_UTF8, + EFI_TTY_TERM_GUID }; diff --git a/MdeModulePkg/Application/UiApp/BootMaint/UpdatePage.c b/MdeModulePkg/Application/UiApp/BootMaint/UpdatePage.c index 0e85a832c1..9f1d20d8ed 100644 --- a/MdeModulePkg/Application/UiApp/BootMaint/UpdatePage.c +++ b/MdeModulePkg/Application/UiApp/BootMaint/UpdatePage.c @@ -1056,7 +1056,7 @@ UpdateTerminalPage ( OptionsOpCodeHandle = HiiAllocateOpCodeHandle (); ASSERT (OptionsOpCodeHandle != NULL); - for (Index = 0; Index < 4; Index++) { + for (Index = 0; Index < sizeof (TerminalType) / sizeof (TerminalType[0]); Index++) { CheckFlags = 0; if (NewTerminalContext->TerminalType == Index) { CheckFlags |= EFI_IFR_OPTION_DEFAULT;