mirror of https://github.com/acidanthera/audk.git
Add PCD for selecting terminal type at build time
Add a fixed pointer PCD to allow build-time selection of VT100 or TTY terminal type. The default remains VT100 emulation. Add support for building the ARM QEMU platforms with the TTY terminal with the "-D TTY_TERMINAL" build option. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> [Roy Franz: minor edits: add TtyTerminal GUID, rename LINUX_TERMINAL to TTY_TERMINAL] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Roy Franz <roy.franz@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17898 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
014f93acab
commit
a51c1699c0
|
@ -15,6 +15,7 @@
|
|||
|
||||
[Defines]
|
||||
DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F
|
||||
DEFINE TTY_TERMINAL = FALSE
|
||||
|
||||
[BuildOptions.AARCH64.EDKII.DXE_RUNTIME_DRIVER]
|
||||
GCC:*_*_AARCH64_DLINK_FLAGS = --script=$(EDK_TOOLS_PATH)/Scripts/gcc-aarch64-64K-align-ld-script
|
||||
|
@ -362,6 +363,11 @@
|
|||
gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
|
||||
!endif
|
||||
|
||||
!if $(TTY_TERMINAL) == TRUE
|
||||
# Set terminal type to TtyTerm, the value encoded is EFI_TTY_TERM_GUID
|
||||
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x80, 0x6d, 0x91, 0x7d, 0xb1, 0x5b, 0x8c, 0x45, 0xa4, 0x8f, 0xe2, 0x5f, 0xdd, 0x51, 0xef, 0x94}
|
||||
!endif
|
||||
|
||||
[Components.common]
|
||||
#
|
||||
# Networking stack
|
||||
|
|
|
@ -49,6 +49,13 @@
|
|||
#
|
||||
gArmVirtTokenSpaceGuid.PcdDeviceTreeAllocationPadding|256|UINT32|0x00000002
|
||||
|
||||
#
|
||||
# Binary representation of the GUID that determines the terminal type. The
|
||||
# size must be exactly 16 bytes. The default value corresponds to
|
||||
# EFI_VT_100_GUID.
|
||||
#
|
||||
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer|{0x65, 0x60, 0xA6, 0xDF, 0x19, 0xB4, 0xD3, 0x11, 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}|VOID*|0x00000007
|
||||
|
||||
[PcdsDynamic, PcdsFixedAtBuild]
|
||||
#
|
||||
# ARM PSCI function invocations can be done either through hypervisor
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
typedef struct {
|
||||
VENDOR_DEVICE_PATH SerialDxe;
|
||||
UART_DEVICE_PATH Uart;
|
||||
VENDOR_DEFINED_DEVICE_PATH Vt100;
|
||||
VENDOR_DEFINED_DEVICE_PATH TermType;
|
||||
EFI_DEVICE_PATH_PROTOCOL End;
|
||||
} PLATFORM_SERIAL_CONSOLE;
|
||||
#pragma pack ()
|
||||
|
@ -67,14 +67,16 @@ STATIC PLATFORM_SERIAL_CONSOLE mSerialConsole = {
|
|||
},
|
||||
|
||||
//
|
||||
// VENDOR_DEFINED_DEVICE_PATH Vt100
|
||||
// VENDOR_DEFINED_DEVICE_PATH TermType
|
||||
//
|
||||
{
|
||||
{
|
||||
MESSAGING_DEVICE_PATH, MSG_VENDOR_DP,
|
||||
DP_NODE_LEN (VENDOR_DEFINED_DEVICE_PATH)
|
||||
},
|
||||
EFI_VT_100_GUID
|
||||
}
|
||||
//
|
||||
// Guid to be filled in dynamically
|
||||
//
|
||||
},
|
||||
|
||||
//
|
||||
|
@ -421,6 +423,8 @@ PlatformBdsPolicyBehavior (
|
|||
//
|
||||
// Add the hardcoded serial console device path to ConIn, ConOut, ErrOut.
|
||||
//
|
||||
CopyGuid (&mSerialConsole.TermType.Guid,
|
||||
PcdGetPtr (PcdTerminalTypeGuidBuffer));
|
||||
BdsLibUpdateConsoleVariable (L"ConIn",
|
||||
(EFI_DEVICE_PATH_PROTOCOL *)&mSerialConsole, NULL);
|
||||
BdsLibUpdateConsoleVariable (L"ConOut",
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
MdeModulePkg/MdeModulePkg.dec
|
||||
MdePkg/MdePkg.dec
|
||||
OvmfPkg/OvmfPkg.dec
|
||||
ArmVirtPkg/ArmVirtPkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
BaseLib
|
||||
|
@ -61,6 +62,9 @@
|
|||
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
|
||||
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits
|
||||
|
||||
[Pcd]
|
||||
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer
|
||||
|
||||
[Guids]
|
||||
gEfiFileInfoGuid
|
||||
gEfiFileSystemInfoGuid
|
||||
|
|
Loading…
Reference in New Issue