MdeModulePkg: Update UiApp to handle terminal type TtyTerm

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18236 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Ruiyu Ni 2015-08-19 10:01:31 +00:00 committed by niruiyu
parent 26cd2d6d2d
commit 4cac5c0526
5 changed files with 17 additions and 8 deletions

View File

@ -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 <Guid/TtyTerm.h>
//
// 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;

View File

@ -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;
}
}
}
}

View File

@ -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
};

View File

@ -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;