From nobody Fri May 17 04:49:51 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+100317+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+100317+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1676638940; cv=none; d=zohomail.com; s=zohoarc; b=mjlDYEe6GLWugli3B5kFjNrEbT+TmCtHQFC/bK+4AEcggMVeJh1cVs1e8rPhhYBlsODyGyabRtAD9nArdi5lBZH+hir4fp08btZ6TRXZt04ecK27EwODvWCemnuyAJ3gdh7rQr+vh+3Q2t3LzQg7jo+iLsfnmgf6la39y1aKwDo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1676638940; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=D6xuwP/N+n9FUxK5OuB5gFN1h0Q7DkwJe5BX5mDcg48=; b=NbSrLcjgEcuyH60SfuX8m224AX5ItgldNXYM8ZyzzcnO2zYZwwAA1FNy1aIJJM2d7ga1yP28+npf3op9Tjpg/jTtFQYszrIts3Ja/b7c5XnMDAYeoe0t+2cJv/CFbhGiflL7B+CtP7me+RWb6B57YQbSRPSeycHKN0BBWLQKEGI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+100317+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1676638940609453.63157665887525; Fri, 17 Feb 2023 05:02:20 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id UTd2YY1788612xNj2ZuuodM2; Fri, 17 Feb 2023 05:02:20 -0800 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.groups.io with SMTP id smtpd.web11.5762.1676638939580535658 for ; Fri, 17 Feb 2023 05:02:19 -0800 X-Received: from mail-lf1-f70.google.com (mail-lf1-f70.google.com [209.85.167.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-550-KnYkOrHaMNOBYyfSIScrbw-1; Fri, 17 Feb 2023 08:02:16 -0500 X-MC-Unique: KnYkOrHaMNOBYyfSIScrbw-1 X-Received: by mail-lf1-f70.google.com with SMTP id cf28-20020a056512281c00b004a28ba148bbso394618lfb.22 for ; Fri, 17 Feb 2023 05:02:16 -0800 (PST) X-Gm-Message-State: VH2rTHodxhkhtH5q8o7KHxGBx1787277AA= X-Received: by 2002:a05:651c:488:b0:293:5279:30c6 with SMTP id s8-20020a05651c048800b00293527930c6mr372452ljc.25.1676638934760; Fri, 17 Feb 2023 05:02:14 -0800 (PST) X-Google-Smtp-Source: AK7set+oyrQwLxV4lS9wc51wBbcHI+EspC3AHxhQR8tMCi5G8nenaqbLDf4ZR5z7N+2SlnEggfLeLw== X-Received: by 2002:a05:651c:488:b0:293:5279:30c6 with SMTP id s8-20020a05651c048800b00293527930c6mr372409ljc.25.1676638933910; Fri, 17 Feb 2023 05:02:13 -0800 (PST) X-Received: from czapka.. ([93.177.91.185]) by smtp.gmail.com with ESMTPSA id f20-20020a2e9194000000b002935006e487sm589767ljg.122.2023.02.17.05.02.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Feb 2023 05:02:13 -0800 (PST) From: =?UTF-8?B?UGF3ZcWCIFBvxYJhd3NraQ==?= To: devel@edk2.groups.io Cc: Ard Biesheuvel , Leif Lindholm , Sami Mujawar , Gerd Hoffmann Subject: [edk2-devel] PATCH v3 2/3 ArmVirtPkg: take PcdResizeXterm from the QEMU command line Date: Fri, 17 Feb 2023 14:01:38 +0100 Message-Id: <53b02b8098fa09a0d9e9d893a613f12975403929.1675733286.git.ppolawsk@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,ppolawsk@redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1676638940; bh=Zs+fRR+lVgfg840mL4qs/s0tFhKsibRDcMgH3cJmG6U=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=URGWdPZSWTfL6TgZQloTkrVvCtcUK24RuyC2DDSOkJ9i8DfJeJZLG9XJlZFC9WAHoZe T3FCHcNV+xF79BTISjJyfhsqQ3VIkIdJcGguAr1jwcMKnsdF5PJ26hUz9FqOBsvPmaE92 UlPPnoHDuLmeOJhPzHVcIuXXqcu3qba4xgU= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1676638941730100010 From: Laszlo Ersek 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 Pawel Polawski: Updated commit message for re-submission Cc: Ard Biesheuvel Cc: Leif Lindholm Cc: Sami Mujawar Cc: Gerd Hoffmann Signed-off-by: Pawe=C5=82 Po=C5=82awski --- 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 =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE + [PcdsDynamicHii] gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGui= d|0x0|FALSE|NV,BS =20 @@ -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 { + + NULL|OvmfPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.i= nf + } MdeModulePkg/Universal/SerialDxe/SerialDxe.inf =20 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.
+# +# SPDX-License-Identifier: BSD-2-Clause-Patent +## + +[Defines] + INF_VERSION =3D 0x00010005 + BASE_NAME =3D TerminalPcdProducerLib + FILE_GUID =3D 4a0c5ed7-8c42-4c01-8f4c-7bf258316a96 + MODULE_TYPE =3D BASE + VERSION_STRING =3D 1.0 + LIBRARY_CLASS =3D NULL + CONSTRUCTOR =3D 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.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + + Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg + +**/ + +#include +#include +#include + +#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName) = \ + do { = \ + BOOLEAN Setting; = \ + RETURN_STATUS PcdStatus; = \ + = \ + if (!RETURN_ERROR (QemuFwCfgParseBool ( = \ + "opt/org.tianocore/" #TokenName, &Setting))) { \ + PcdStatus =3D 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; +} --=20 2.39.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100317): https://edk2.groups.io/g/devel/message/100317 Mute This Topic: https://groups.io/mt/97027222/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-