mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-23 13:44:33 +02:00
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]
|
[Defines]
|
||||||
DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F
|
DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F
|
||||||
|
DEFINE TTY_TERMINAL = FALSE
|
||||||
|
|
||||||
[BuildOptions.AARCH64.EDKII.DXE_RUNTIME_DRIVER]
|
[BuildOptions.AARCH64.EDKII.DXE_RUNTIME_DRIVER]
|
||||||
GCC:*_*_AARCH64_DLINK_FLAGS = --script=$(EDK_TOOLS_PATH)/Scripts/gcc-aarch64-64K-align-ld-script
|
GCC:*_*_AARCH64_DLINK_FLAGS = --script=$(EDK_TOOLS_PATH)/Scripts/gcc-aarch64-64K-align-ld-script
|
||||||
@ -362,6 +363,11 @@
|
|||||||
gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
|
gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
|
||||||
!endif
|
!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]
|
[Components.common]
|
||||||
#
|
#
|
||||||
# Networking stack
|
# Networking stack
|
||||||
|
@ -49,6 +49,13 @@
|
|||||||
#
|
#
|
||||||
gArmVirtTokenSpaceGuid.PcdDeviceTreeAllocationPadding|256|UINT32|0x00000002
|
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]
|
[PcdsDynamic, PcdsFixedAtBuild]
|
||||||
#
|
#
|
||||||
# ARM PSCI function invocations can be done either through hypervisor
|
# ARM PSCI function invocations can be done either through hypervisor
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
typedef struct {
|
typedef struct {
|
||||||
VENDOR_DEVICE_PATH SerialDxe;
|
VENDOR_DEVICE_PATH SerialDxe;
|
||||||
UART_DEVICE_PATH Uart;
|
UART_DEVICE_PATH Uart;
|
||||||
VENDOR_DEFINED_DEVICE_PATH Vt100;
|
VENDOR_DEFINED_DEVICE_PATH TermType;
|
||||||
EFI_DEVICE_PATH_PROTOCOL End;
|
EFI_DEVICE_PATH_PROTOCOL End;
|
||||||
} PLATFORM_SERIAL_CONSOLE;
|
} PLATFORM_SERIAL_CONSOLE;
|
||||||
#pragma pack ()
|
#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,
|
MESSAGING_DEVICE_PATH, MSG_VENDOR_DP,
|
||||||
DP_NODE_LEN (VENDOR_DEFINED_DEVICE_PATH)
|
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.
|
// Add the hardcoded serial console device path to ConIn, ConOut, ErrOut.
|
||||||
//
|
//
|
||||||
|
CopyGuid (&mSerialConsole.TermType.Guid,
|
||||||
|
PcdGetPtr (PcdTerminalTypeGuidBuffer));
|
||||||
BdsLibUpdateConsoleVariable (L"ConIn",
|
BdsLibUpdateConsoleVariable (L"ConIn",
|
||||||
(EFI_DEVICE_PATH_PROTOCOL *)&mSerialConsole, NULL);
|
(EFI_DEVICE_PATH_PROTOCOL *)&mSerialConsole, NULL);
|
||||||
BdsLibUpdateConsoleVariable (L"ConOut",
|
BdsLibUpdateConsoleVariable (L"ConOut",
|
||||||
|
@ -39,6 +39,7 @@
|
|||||||
MdeModulePkg/MdeModulePkg.dec
|
MdeModulePkg/MdeModulePkg.dec
|
||||||
MdePkg/MdePkg.dec
|
MdePkg/MdePkg.dec
|
||||||
OvmfPkg/OvmfPkg.dec
|
OvmfPkg/OvmfPkg.dec
|
||||||
|
ArmVirtPkg/ArmVirtPkg.dec
|
||||||
|
|
||||||
[LibraryClasses]
|
[LibraryClasses]
|
||||||
BaseLib
|
BaseLib
|
||||||
@ -61,6 +62,9 @@
|
|||||||
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
|
||||||
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits
|
||||||
|
|
||||||
|
[Pcd]
|
||||||
|
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer
|
||||||
|
|
||||||
[Guids]
|
[Guids]
|
||||||
gEfiFileInfoGuid
|
gEfiFileInfoGuid
|
||||||
gEfiFileSystemInfoGuid
|
gEfiFileSystemInfoGuid
|
||||||
|
Loading…
x
Reference in New Issue
Block a user