From: "Wu, Hao A" <hao.a.wu@intel.com>
To: "Gao, Zhichao" <zhichao.gao@intel.com>,
"devel@edk2.groups.io" <devel@edk2.groups.io>,
"Ni, Ray" <ray.ni@intel.com>, "Bi, Dandan" <dandan.bi@intel.com>,
"Dong, Eric" <eric.dong@intel.com>
Cc: "Wang, Jian J" <jian.j.wang@intel.com>, "Ni, Ray" <ray.ni@intel.com>
Subject: Re: [PATCH 3/3] MdeModulePkg/BM_UI: Add the new terminal types to related menu
Date: Thu, 12 Sep 2019 02:49:49 +0000 [thread overview]
Message-ID: <B80AF82E9BFB8E4FBD8C89DA810C6A093C931F49@SHSMSX104.ccr.corp.intel.com> (raw)
In-Reply-To: <20190912010231.19544-4-zhichao.gao@intel.com>
> -----Original Message-----
> From: Gao, Zhichao
> Sent: Thursday, September 12, 2019 9:03 AM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J; Wu, Hao A; Ni, Ray
> Subject: [PATCH 3/3] MdeModulePkg/BM_UI: Add the new terminal types
> to related menu
>
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2186
>
> Add the new introduced terminal types to related setup menu to change
> the terminal type from setup. Most platforms would have its own
> configure setup menu and they need to change it to support these.
> The new introduced terminal types are Linux, XtermR6, VT400 and SCO.
>
I will leave the patch to Ray, Dandan and Eric for review.
Best Regards,
Hao Wu
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Ray Ni <ray.ni@intel.com>
> Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
> ---
> .../BootMaintenanceManager.h | 13 ++++---
> .../BootMaintenanceManagerStrings.uni | 10 +++++-
> .../ConsoleOption.c | 35 ++++++-------------
> .../BootMaintenanceManagerUiLib/Data.c | 16 ++++++---
> 4 files changed, 40 insertions(+), 34 deletions(-)
>
> diff --git
> a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManager.h
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManager.h
> index ea3cdce794..822401e68c 100644
> ---
> a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManager.h
> +++
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManager.h
> @@ -1,7 +1,7 @@
> /** @file
> Header file for boot maintenance module.
>
> -Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -12,6 +12,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
> #include "FormGuid.h"
>
> #include <Guid/TtyTerm.h>
> +#include <Guid/TerminalConExtendedType.h>
> #include <Guid/MdeModuleHii.h>
> #include <Guid/FileSystemVolumeLabelInfo.h>
> #include <Guid/GlobalVariable.h>
> @@ -92,7 +93,11 @@ typedef enum _TYPE_OF_TERMINAL {
> TerminalTypeVt100,
> TerminalTypeVt100Plus,
> TerminalTypeVtUtf8,
> - TerminalTypeTtyTerm
> + TerminalTypeTtyTerm,
> + TerminalTypeLinux,
> + TerminalTypeXtermR6,
> + TerminalTypeVt400,
> + TerminalTypeSCO
> } TYPE_OF_TERMINAL;
>
> //
> @@ -1301,12 +1306,12 @@ extern BM_MENU_OPTION
> ConsoleOutMenu;
> extern BM_MENU_OPTION ConsoleErrMenu;
> extern BM_MENU_OPTION DriverMenu;
> extern BM_MENU_OPTION TerminalMenu;
> -extern UINT16 TerminalType[5];
> +extern UINT16 TerminalType[9];
> extern COM_ATTR BaudRateList[19];
> extern COM_ATTR DataBitsList[4];
> extern COM_ATTR ParityList[5];
> extern COM_ATTR StopBitsList[3];
> -extern EFI_GUID TerminalTypeGuid[5];
> +extern EFI_GUID TerminalTypeGuid[9];
> extern EFI_DEVICE_PATH_PROTOCOL EndDevicePath[];
> extern UINT16 mFlowControlType[2];
> extern UINT32 mFlowControlValue[2];
> diff --git
> a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManagerStrings.uni
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManagerStrings.uni
> index 2e67d27bd0..3d47473e6c 100644
> ---
> a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManagerStrings.uni
> +++
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanc
> eManagerStrings.uni
> @@ -1,7 +1,7 @@
> ///** @file
> // String definitions for Boot Maintenance Utility.
> //
> -// Copyright (c) 2004 - 2018, Intel Corporation. All rights reserved.<BR>
> +// Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> // SPDX-License-Identifier: BSD-2-Clause-Patent
> //
> //**/
> @@ -233,6 +233,14 @@
> #language fr-FR "VT_UTF8"
> #string STR_COM_TYPE_4 #language en-US "TTY_TERM"
> #language fr-FR "TTY_TERM"
> +#string STR_COM_TYPE_5 #language en-US "LINUX"
> + #language fr-FR "LINUX"
> +#string STR_COM_TYPE_6 #language en-US "XTERM_R6"
> + #language fr-FR "XTERM_R6"
> +#string STR_COM_TYPE_7 #language en-US "VT_400"
> + #language fr-FR "VT_400"
> +#string STR_COM_TYPE_8 #language en-US "SCO"
> + #language fr-FR "SCO"
> #string STR_RESET #language en-US "Reset System"
> #language fr-FR "Reset System"
> #string STR_FORM_GOTO_MAIN #language en-US "Go Back To Main
> Page"
> diff --git
> a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c
> index 7a53b58771..b0641c5ee9 100644
> ---
> a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c
> +++
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/ConsoleOption.c
> @@ -897,6 +897,7 @@ IsTerminalDevicePath (
> VENDOR_DEVICE_PATH *Vendor;
> UART_DEVICE_PATH *Uart;
> ACPI_HID_DEVICE_PATH *Acpi;
> + UINTN Index;
>
> IsTerminal = FALSE;
>
> @@ -929,37 +930,21 @@ IsTerminalDevicePath (
> }
>
> //
> - // There are four kinds of Terminal types
> + // There are 9 kinds of Terminal types
> // check to see whether this devicepath
> // is one of that type
> //
> - if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[0])) {
> - *Termi = TerminalTypePcAnsi;
> - IsTerminal = TRUE;
> - } else {
> - if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[1])) {
> - *Termi = TerminalTypeVt100;
> - IsTerminal = TRUE;
> - } else {
> - if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[2])) {
> - *Termi = TerminalTypeVt100Plus;
> - IsTerminal = TRUE;
> - } else {
> - if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[3])) {
> - *Termi = TerminalTypeVtUtf8;
> - IsTerminal = TRUE;
> - } else {
> - if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[4])) {
> - *Termi = TerminalTypeTtyTerm;
> - IsTerminal = TRUE;
> - } else {
> - IsTerminal = FALSE;
> - }
> - }
> - }
> + for (Index = 0; Index < ARRAY_SIZE (TerminalTypeGuid); Index++) {
> + if (CompareGuid (&Vendor->Guid, &TerminalTypeGuid[Index])) {
> + *Termi = Index;
> + IsTerminal = TRUE;
> }
> }
>
> + if (Index == ARRAY_SIZE (TerminalTypeGuid)) {
> + IsTerminal = FALSE;
> + }
> +
> if (!IsTerminal) {
> return FALSE;
> }
> diff --git a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/Data.c
> b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/Data.c
> index b9d86b09d8..5cd363c982 100644
> --- a/MdeModulePkg/Library/BootMaintenanceManagerUiLib/Data.c
> +++ b/MdeModulePkg/Library/BootMaintenanceManagerUiLib/Data.c
> @@ -1,7 +1,7 @@
> /** @file
> Define some data used for Boot Maint
>
> -Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
> +Copyright (c) 2004 - 2019, Intel Corporation. All rights reserved.<BR>
> SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
> @@ -16,12 +16,16 @@ EFI_IFR_GUID_LABEL *mEndLabel = NULL;
> ///
> /// Terminal type string token storage
> ///
> -UINT16 TerminalType[] = {
> +UINT16 TerminalType[9] = {
> STRING_TOKEN(STR_COM_TYPE_0),
> STRING_TOKEN(STR_COM_TYPE_1),
> STRING_TOKEN(STR_COM_TYPE_2),
> STRING_TOKEN(STR_COM_TYPE_3),
> STRING_TOKEN(STR_COM_TYPE_4),
> + STRING_TOKEN(STR_COM_TYPE_5),
> + STRING_TOKEN(STR_COM_TYPE_6),
> + STRING_TOKEN(STR_COM_TYPE_7),
> + STRING_TOKEN(STR_COM_TYPE_8),
> };
>
> ///
> @@ -248,10 +252,14 @@ COM_ATTR StopBitsList[3] = {
> ///
> /// Guid for messaging path, used in Serial port setting.
> ///
> -EFI_GUID TerminalTypeGuid[] = {
> +EFI_GUID TerminalTypeGuid[9] = {
> DEVICE_PATH_MESSAGING_PC_ANSI,
> DEVICE_PATH_MESSAGING_VT_100,
> DEVICE_PATH_MESSAGING_VT_100_PLUS,
> DEVICE_PATH_MESSAGING_VT_UTF8,
> - EFI_TTY_TERM_GUID
> + EFI_TTY_TERM_GUID,
> + EDKII_LINUX_MODE_GUID,
> + EDKII_XTERM_R6_GUID,
> + EDKII_VT400_GUID,
> + EDKII_SCO_GUID
> };
> --
> 2.21.0.windows.1
prev parent reply other threads:[~2019-09-12 2:49 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-12 1:02 [PATCH 0/3] MdeModulePkg/TerminalConsole: Extend the support terminal types Gao, Zhichao
2019-09-12 1:02 ` [PATCH 1/3] MdeModulePkg: Entend the support keyboard type of Terminal console Gao, Zhichao
2019-09-12 2:42 ` Wu, Hao A
2019-09-13 18:09 ` [edk2-devel] " Brian J. Johnson
2019-09-16 0:32 ` Gao, Zhichao
2019-09-16 5:12 ` Gao, Zhichao
2019-09-16 5:15 ` Gao, Zhichao
2019-09-16 11:24 ` Laszlo Ersek
2019-09-12 1:02 ` [PATCH 2/3] MdeModulePkg/TerminalDxe: Extend the terminal console support types Gao, Zhichao
2019-09-12 2:44 ` Wu, Hao A
2019-09-12 1:02 ` [PATCH 3/3] MdeModulePkg/BM_UI: Add the new terminal types to related menu Gao, Zhichao
2019-09-12 2:49 ` Wu, Hao A [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=B80AF82E9BFB8E4FBD8C89DA810C6A093C931F49@SHSMSX104.ccr.corp.intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox