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 <ppola...@redhat.com> wrote:

> From: Laszlo Ersek <ler...@redhat.com>
>
> This patch enables recognition of PcdResizeXterm config variable.
> When enablet it will trigger passing xterm control sequences
> from the ArmVirtPkg to the client terminal (xterm, gnome-terminal etc.).
> This way client terminal window size will be alligned with
> numbers of rows and columns used by firmware.
>
> Signed-off-by: Laszlo Ersek <ler...@redhat.com>
>
> Pawel Polawski: Updated commit message for re-submission
>
> Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org>
> Cc: Leif Lindholm <quic_llind...@quicinc.com>
> Cc: Sami Mujawar <sami.muja...@arm.com>
> Cc: Gerd Hoffmann <kra...@redhat.com>
>
> Signed-off-by: Paweł Poławski <ppola...@redhat.com>
> ---
>  ArmVirtPkg/ArmVirtQemu.dsc                                        |  7
> +++-
>  OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf | 33
> ++++++++++++++++
>  OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c   | 41
> ++++++++++++++++++++
>  3 files changed, 80 insertions(+), 1 deletion(-)
>
> diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
> index 0f1c6395488a..5f99c0a5104f 100644
> --- a/ArmVirtPkg/ArmVirtQemu.dsc
> +++ b/ArmVirtPkg/ArmVirtQemu.dsc
> @@ -304,6 +304,8 @@ [PcdsPatchableInModule]
>    gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
>  !endif
>
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
> +
>  [PcdsDynamicHii]
>
>  
> gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGuid|0x0|FALSE|NV,BS
>
> @@ -418,7 +420,10 @@ [Components.common]
>    MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
>    MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
>    MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
> -  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
> +  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf {
> +    <LibraryClasses>
> +
> NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
> +  }
>    MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
>
>    MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
> diff --git
> a/OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
> b/OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
> new file mode 100644
> index 000000000000..b4108ec04b0b
> --- /dev/null
> +++ b/OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
> @@ -0,0 +1,33 @@
> +## @file
> +#  Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg
> +#
> +#  Copyright (c) 2015-2020, Red Hat, Inc.
> +#  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
> +#
> +#  SPDX-License-Identifier: BSD-2-Clause-Patent
> +##
> +
> +[Defines]
> +  INF_VERSION                    = 0x00010005
> +  BASE_NAME                      = TerminalPcdProducerLib
> +  FILE_GUID                      = 4a0c5ed7-8c42-4c01-8f4c-7bf258316a96
> +  MODULE_TYPE                    = BASE
> +  VERSION_STRING                 = 1.0
> +  LIBRARY_CLASS                  = NULL
> +  CONSTRUCTOR                    = TerminalPcdProducerLibConstructor
> +
> +[Sources]
> +  TerminalPcdProducerLib.c
> +
> +[Packages]
> +  MdeModulePkg/MdeModulePkg.dec
> +  MdePkg/MdePkg.dec
> +  OvmfPkg/OvmfPkg.dec
> +
> +[LibraryClasses]
> +  DebugLib
> +  PcdLib
> +  QemuFwCfgSimpleParserLib
> +
> +[Pcd]
> +  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## SOMETIMES_PRODUCES
> diff --git
> a/OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
> b/OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
> new file mode 100644
> index 000000000000..fe65273822a0
> --- /dev/null
> +++ b/OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
> @@ -0,0 +1,41 @@
> +/** @file
> +
> +   Copyright (c) 2015-2020, Red Hat, Inc.
> +   Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
> +
> +   SPDX-License-Identifier: BSD-2-Clause-Patent
> +
> +   Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg
> +
> +**/
> +
> +#include <Library/DebugLib.h>
> +#include <Library/PcdLib.h>
> +#include <Library/QemuFwCfgSimpleParserLib.h>
> +
> +#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName)
>      \
> +          do {
>     \
> +            BOOLEAN       Setting;
>     \
> +            RETURN_STATUS PcdStatus;
>     \
> +
>     \
> +            if (!RETURN_ERROR (QemuFwCfgParseBool (
>      \
> +                    "opt/org.tianocore/" #TokenName, &Setting))) { \
> +              PcdStatus = PcdSetBoolS (TokenName, Setting);
>      \
> +              ASSERT_RETURN_ERROR (PcdStatus);
>     \
> +            }
>      \
> +          } while (0)
> +
> +/**
> +   Update PCD configuration variable from firmware config.
> +
> +   @return  Always returns RETURN_SUCCESS
> +**/
> +RETURN_STATUS
> +EFIAPI
> +TerminalPcdProducerLibConstructor (
> +  VOID
> +  )
> +{
> +  UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
> +  return RETURN_SUCCESS;
> +}
> --
> 2.39.1
>
>
>
> 
>
>
>

-- 

Paweł Poławski

Red Hat <https://www.redhat.com/> Virtualization

ppola...@redhat.com
@RedHat <https://twitter.com/redhat>   Red Hat
<https://www.linkedin.com/company/red-hat>  Red Hat
<https://www.facebook.com/RedHatInc>
<https://red.ht/sig>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101785): https://edk2.groups.io/g/devel/message/101785
Mute This Topic: https://groups.io/mt/97823935/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to