Hi all, If someone had a chance to take a look at this patchset already and would like to share thoughts? The 1st patch from this series has been already successfully reviewed. Best regards, Pawel On Fri, Feb 17, 2023 at 2:03 PM Paweł Poławski wrote: > From: Laszlo Ersek > > This patch enables recognition of PcdResizeXterm config variable > by the OvmfPkg. When enablet it will trigger passing xterm control > sequences > from the OvmfPkg to the client terminal (xterm, gnome-terminal etc.). > This way client terminal window size will be alligned with > numbers of rows and columns requested by the firmware. > > Signed-off-by: Laszlo Ersek > > Pawel Polawski: Updated commit message for re-submission > > Cc: Ard Biesheuvel > Cc: Jiewen Yao > Cc: Jordan Justen > Cc: Gerd Hoffmann > > Signed-off-by: Paweł Poławski > --- > OvmfPkg/AmdSev/AmdSevX64.dsc | 6 +++++- > OvmfPkg/CloudHv/CloudHvX64.dsc | 6 +++++- > OvmfPkg/IntelTdx/IntelTdxX64.dsc | 6 +++++- > OvmfPkg/Microvm/MicrovmX64.dsc | 6 +++++- > OvmfPkg/OvmfPkgIa32.dsc | 6 +++++- > OvmfPkg/OvmfPkgIa32X64.dsc | 6 +++++- > OvmfPkg/OvmfPkgX64.dsc | 6 +++++- > OvmfPkg/PlatformPei/PlatformPei.inf | 1 + > 8 files changed, 36 insertions(+), 7 deletions(-) > > diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc > index 36100f5fdc11..d4429526709b 100644 > --- a/OvmfPkg/AmdSev/AmdSevX64.dsc > +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc > @@ -477,6 +477,7 @@ [PcdsFixedAtBuild] > [PcdsDynamicDefault] > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 > > + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 > @@ -655,7 +656,10 @@ [Components] > > PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > } > - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf { > + > + > NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf > + } > MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf { > > DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf > diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc > b/OvmfPkg/CloudHv/CloudHvX64.dsc > index 7326417eab62..5877a418f6b6 100644 > --- a/OvmfPkg/CloudHv/CloudHvX64.dsc > +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc > @@ -584,6 +584,7 @@ [PcdsDynamicDefault] > # ($(SMM_REQUIRE) == FALSE) > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 > > + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE > !if $(SMM_REQUIRE) == FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 > @@ -778,7 +779,10 @@ [Components] > > PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > } > - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf { > + > + > NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf > + } > MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf { > > DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf > diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc > b/OvmfPkg/IntelTdx/IntelTdxX64.dsc > index 0f1e970fbbb3..dc82398dbd62 100644 > --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc > +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc > @@ -482,6 +482,7 @@ [PcdsDynamicDefault] > # ($(SMM_REQUIRE) == FALSE) > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 > > + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 > @@ -661,7 +662,10 @@ [Components] > > PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > } > - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf { > + > + > NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf > + } > MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf { > > DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf > diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc > b/OvmfPkg/Microvm/MicrovmX64.dsc > index 2d53b5c2950d..44056b6b334e 100644 > --- a/OvmfPkg/Microvm/MicrovmX64.dsc > +++ b/OvmfPkg/Microvm/MicrovmX64.dsc > @@ -582,6 +582,7 @@ [PcdsDynamicDefault] > # ($(SMM_REQUIRE) == FALSE) > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 > > + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 > @@ -758,7 +759,10 @@ [Components] > > PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > } > - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf { > + > + > NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf > + } > MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf { > > DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf > diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc > index f232de13a7b6..411d4288f6a1 100644 > --- a/OvmfPkg/OvmfPkgIa32.dsc > +++ b/OvmfPkg/OvmfPkgIa32.dsc > @@ -603,6 +603,7 @@ [PcdsDynamicDefault] > # ($(SMM_REQUIRE) == FALSE) > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 > > + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE > !if $(SMM_REQUIRE) == FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 > @@ -822,7 +823,10 @@ [Components] > > PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > } > - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf { > + > + > NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf > + } > MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf { > > DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf > diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc > index a9d422bd9169..0988ad4b1db2 100644 > --- a/OvmfPkg/OvmfPkgIa32X64.dsc > +++ b/OvmfPkg/OvmfPkgIa32X64.dsc > @@ -610,6 +610,7 @@ [PcdsDynamicDefault] > # ($(SMM_REQUIRE) == FALSE) > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 > > + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE > !if $(SMM_REQUIRE) == FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 > @@ -835,7 +836,10 @@ [Components.X64] > > PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > } > - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf { > + > + > NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf > + } > MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf { > > DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf > diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc > index 3f970a79a08a..2c432af4eedc 100644 > --- a/OvmfPkg/OvmfPkgX64.dsc > +++ b/OvmfPkg/OvmfPkgX64.dsc > @@ -632,6 +632,7 @@ [PcdsDynamicDefault] > # ($(SMM_REQUIRE) == FALSE) > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 > > + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE > !if $(SMM_REQUIRE) == FALSE > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 > @@ -903,7 +904,10 @@ [Components] > > PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf > } > - MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf > + MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf { > + > + > NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf > + } > MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf { > > DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf > diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf > b/OvmfPkg/PlatformPei/PlatformPei.inf > index 1fadadeb5565..3e28e1596d32 100644 > --- a/OvmfPkg/PlatformPei/PlatformPei.inf > +++ b/OvmfPkg/PlatformPei/PlatformPei.inf > @@ -99,6 +99,7 @@ [Pcd] > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize > gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize > gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved > + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm > gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode > gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable > gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack > -- > 2.39.1 > > > > > > > -- Paweł Poławski Red Hat Virtualization ppolawsk@redhat.com @RedHat Red Hat Red Hat