From nobody Mon May 6 11:35:16 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+96638+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+96638+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1669610149; cv=none; d=zohomail.com; s=zohoarc; b=Jp81UnFVuklBOjNWphnelEVr4HbUQj+0QyC1q+2SL4WZVaqrBNTJxCUjB68Q1EzB7YGeseoScwWSVOvHo32O90HinDXLLOusX5bIaxYRD6FmF3lKpJy0xf1Jvy8b1UVGAiz9Q65J9TbKBN5y5OMnQfnfuRFtFvPNlb/Ylom7s7A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1669610149; 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=CniF1Vkzaj5ExMWpIKgUnQhqj6NuXhXB5V/lPIAO2QM=; b=Q2WDMN3YspEPTUAiydKe5rXtMkwUqiSaNX5HSIkG6MfauJcosYs/7SN95sw+y0H7zkJ0x/3/NaAv+MhmxlsQB4jGmPYvams3WSpyZn6iimgMvdAGj4Cdyudn0R6T1q/OJUYJQQamjs2Ot/t+qmU+9kzWJR8yvSUDfkaAlbX1lTQ= 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+96638+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 166961014911393.66818495977259; Sun, 27 Nov 2022 20:35:49 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id drtPYY1788612xAXxpqPRnW1; Sun, 27 Nov 2022 20:35:48 -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.110143.1669610148033866772 for ; Sun, 27 Nov 2022 20:35:48 -0800 X-Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-416-Bb_3EaAeN9S_QkkzIxIRUw-1; Sun, 27 Nov 2022 23:35:43 -0500 X-MC-Unique: Bb_3EaAeN9S_QkkzIxIRUw-1 X-Received: by mail-wr1-f71.google.com with SMTP id w11-20020adfbacb000000b002418a90da01so1473461wrg.16 for ; Sun, 27 Nov 2022 20:35:43 -0800 (PST) X-Gm-Message-State: mvUNLjqFt3d1HNNIR3qViBvAx1787277AA= X-Received: by 2002:adf:e6c4:0:b0:241:dae2:431f with SMTP id y4-20020adfe6c4000000b00241dae2431fmr19891341wrm.261.1669610142087; Sun, 27 Nov 2022 20:35:42 -0800 (PST) X-Google-Smtp-Source: AA0mqf7kQ6cocbCmQSghZK0EIpRce5CL9WGWU9ZKHdrbL73e1rXCEQc2p6L+d/vfVU8bZrVoLOPgWg== X-Received: by 2002:adf:e6c4:0:b0:241:dae2:431f with SMTP id y4-20020adfe6c4000000b00241dae2431fmr19891332wrm.261.1669610141808; Sun, 27 Nov 2022 20:35:41 -0800 (PST) X-Received: from czapka.redhat.com ([93.177.91.185]) by smtp.gmail.com with ESMTPSA id r20-20020a05600c35d400b003c6d21a19a0sm14548958wmq.29.2022.11.27.20.35.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 20:35:41 -0800 (PST) From: =?UTF-8?B?UGF3ZcWCIFBvxYJhd3NraQ==?= To: devel@edk2.groups.io Cc: Jian J Wang , Liming Gao Subject: [edk2-devel] [PATCH v2 1/3] MdeModulePkg: TerminalDxe: set xterm resolution on mode change Date: Mon, 28 Nov 2022 05:35:20 +0100 Message-Id: <4358aa4887fbf04457d4fb23a25b959e1825d14a.1669610016.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-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1669610148; bh=61j2T289oCjU8V/zkmVScCA/fQORdiBZt7UN/oLjaGk=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=GuhsMbvmzPOvl8zJop0eDj/xpZ7AcQ4+l0aCPJrk/yOc+TLk2F3t5RMozA5AVqP4EXk 4Cwqej08I+rZLjzj+P7rJ2Ap2bOaUux7bwSPb7SI8AP/p5/l3jFGncSCdNj06smeV52Rd lFg4YXbRvCbByXD6Zy2sspKGtkx+N2eAlJQ= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1669610151079100001 Content-Type: text/plain; charset="utf-8" From: Laszlo Ersek Allow TerminalDxe outputs an XTerm resize sequence on terminal mode change Reference: Signed-off-by: Laszlo Ersek Pawel Polawski: Updated commit message for re-submission Cc: Jian J Wang Cc: Liming Gao Signed-off-by: Pawe=C5=82 Po=C5=82awski --- MdeModulePkg/MdeModulePkg.dec | 4 +++ MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf | 2 ++ MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c | 29 +++++++++= +++++++++++ 3 files changed, 35 insertions(+) diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec index 58e6ab004882..e8c011c1bafe 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec @@ -2102,6 +2102,10 @@ # @Prompt The shared bit mask when Intel Tdx is enabled. gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x10000025 =20 + ## Controls whether TerminalDxe outputs an XTerm resize sequence on term= inal + # mode change. + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE|BOOLEAN|0x00010080 + [PcdsPatchableInModule] ## Specify memory size with page number for PEI code when # Loading Module at Fixed Address feature is enabled. diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf b/M= deModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf index b2a8aeba8510..eff625346539 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf @@ -55,6 +55,7 @@ DebugLib PcdLib BaseLib + PrintLib =20 [Guids] ## SOMETIMES_PRODUCES ## Variable:L"ConInDev" @@ -87,6 +88,7 @@ [Pcd] gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType ## SOMETIMES_C= ONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable ## CONSUMES + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## CONSUMES =20 # [Event] # # Relative timer event set by UnicodeToEfiKey(), used to be one 2 second= s input timeout. diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/= MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c index 7809869e7d49..496849458db4 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c @@ -7,6 +7,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent =20 **/ =20 +#include + #include "Terminal.h" =20 // @@ -80,6 +82,15 @@ CHAR16 mSetCursorPositionString[] =3D { ESC, '[', '0', = '0', ';', '0', '0', 'H', 0 CHAR16 mCursorForwardString[] =3D { ESC, '[', '0', '0', 'C', 0 }; CHAR16 mCursorBackwardString[] =3D { ESC, '[', '0', '0', 'D', 0 }; =20 +// +// Note that this is an ASCII format string, taking two INT32 arguments: +// rows, columns. +// +// A %d (INT32) format specification can expand to at most 11 characters. +// +CHAR8 mResizeTextAreaFormatString[] =3D "\x1B[8;%d;%dt"; +#define RESIZE_SEQ_SIZE (sizeof mResizeTextAreaFormatString + 2 * (11 - 2= )) + // // Body of the ConOut functions // @@ -498,6 +509,24 @@ TerminalConOutSetMode ( return EFI_DEVICE_ERROR; } =20 + if (PcdGetBool (PcdResizeXterm)) { + CHAR16 ResizeSequence[RESIZE_SEQ_SIZE]; + + UnicodeSPrintAsciiFormat ( + ResizeSequence, + sizeof ResizeSequence, + mResizeTextAreaFormatString, + (INT32)TerminalDevice->TerminalConsoleModeData[ModeNumber].Rows, + (INT32)TerminalDevice->TerminalConsoleModeData[ModeNumber].Columns + ); + TerminalDevice->OutputEscChar =3D TRUE; + Status =3D This->OutputString (This, ResizeSequ= ence); + TerminalDevice->OutputEscChar =3D FALSE; + if (EFI_ERROR (Status)) { + return EFI_DEVICE_ERROR; + } + } + This->Mode->Mode =3D (INT32)ModeNumber; =20 Status =3D This->ClearScreen (This); --=20 2.38.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 (#96638): https://edk2.groups.io/g/devel/message/96638 Mute This Topic: https://groups.io/mt/95304210/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- From nobody Mon May 6 11:35:16 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+96639+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+96639+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1669610149; cv=none; d=zohomail.com; s=zohoarc; b=mJMBaE1lk4c9vQlM/aalcTBPGrsWfg01eqPJGAOrdmTcmXE4UjBTi/b6EPU8J10Qdlm2PE8KoTc/A5OBentV3Ha7/hDecAKNj8O0ewRLos57r1gEKF09OSbmg/sPcq/veU4tShpK0LxV/mtm34PbgLQQ7WutlxM7Xvxr2ilYOxI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1669610149; 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=EldaVGATP/gcQGHIJaEdI1WXJb9CVedXbNChYnOmz8c=; b=UZERp4cuwwn9IdaQhGnXfBwJ0eNVnvY9Gm3c8S/2pQqs9iMXiPU7pxaY6VxkS1PWIr4j/hKYxoJCR4ufqkN18x84m8nBCs/+1OER2VHFpzm+clAuU7e85xQRcHbwqyXlNoKb6opw6zbQpWVLxKW/ieh9FK93Ciu/A2WrS1FA1W4= 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+96639+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 1669610149480164.3481125799742; Sun, 27 Nov 2022 20:35:49 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id zM15YY1788612xgkhH9y3H9d; Sun, 27 Nov 2022 20:35:49 -0800 X-Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.groups.io with SMTP id smtpd.web11.110142.1669610147703069249 for ; Sun, 27 Nov 2022 20:35:48 -0800 X-Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-655-GwxDevqnOVCKQUp4xZwWpw-1; Sun, 27 Nov 2022 23:35:45 -0500 X-MC-Unique: GwxDevqnOVCKQUp4xZwWpw-1 X-Received: by mail-wr1-f69.google.com with SMTP id p2-20020adfaa02000000b00241d7fb17d7so1476400wrd.5 for ; Sun, 27 Nov 2022 20:35:45 -0800 (PST) X-Gm-Message-State: MKi4LycfGmWpkyAxwr1ib7Mpx1787277AA= X-Received: by 2002:a05:600c:5124:b0:3cf:878c:6555 with SMTP id o36-20020a05600c512400b003cf878c6555mr25071280wms.38.1669610143376; Sun, 27 Nov 2022 20:35:43 -0800 (PST) X-Google-Smtp-Source: AA0mqf4fL7sdFmLGiK4dy7yNa6IZDfi9nSjeaOLUmRcddOvMf6tDoTxRwzeoCqAhL88AC8LV/YGP7w== X-Received: by 2002:a05:600c:5124:b0:3cf:878c:6555 with SMTP id o36-20020a05600c512400b003cf878c6555mr25071263wms.38.1669610143014; Sun, 27 Nov 2022 20:35:43 -0800 (PST) X-Received: from czapka.redhat.com ([93.177.91.185]) by smtp.gmail.com with ESMTPSA id r20-20020a05600c35d400b003c6d21a19a0sm14548958wmq.29.2022.11.27.20.35.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 20:35:42 -0800 (PST) From: =?UTF-8?B?UGF3ZcWCIFBvxYJhd3NraQ==?= To: devel@edk2.groups.io Cc: Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann Subject: [edk2-devel] [PATCH v2 2/3] OvmfPkg: take PcdResizeXterm from the QEMU command line Date: Mon, 28 Nov 2022 05:35:21 +0100 Message-Id: <112fda9e01a4163595871f4b40c74171cff66c71.1669610016.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-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1669610149; bh=wsmcGJn9Z0B2HAZ24FHCtWymkHc4i1ESevQAE66WO0I=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=Cj6uP96fQ7QhuL/5/dMBYQtmPuq5c6fz2mewdcBOHDCqX16iu/b2HuvFUmb86Wva6fw ubx5Cr2+2TiOeG0W9swAtZYW4JiCY3M+opf7Ab5rkB4uZG4lj270DVxmkmvZe/6z1TXSf Ua209zhAnkcX/GxGeaUQWd392ASIy0hf1zY= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1669610151105100004 Content-Type: text/plain; charset="utf-8" From: Laszlo Ersek Allow enable XTerm resize sequences on terminal mode changes via QEMU command line 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=C5=82 Po=C5=82awski --- OvmfPkg/AmdSev/AmdSevX64.dsc | 1 + OvmfPkg/CloudHv/CloudHvX64.dsc | 1 + OvmfPkg/IntelTdx/IntelTdxX64.dsc | 1 + OvmfPkg/Microvm/MicrovmX64.dsc | 2 +- OvmfPkg/OvmfPkgIa32.dsc | 1 + OvmfPkg/OvmfPkgIa32X64.dsc | 1 + OvmfPkg/OvmfPkgX64.dsc | 1 + OvmfPkg/PlatformPei/PlatformPei.inf | 1 + OvmfPkg/PlatformPei/Platform.c | 13 +++++++++++++ 9 files changed, 21 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc index 8f7cae787e97..41ad97b47dc9 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc @@ -475,6 +475,7 @@ [PcdsDynamicDefault] gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc index ce277cb2398b..faab59ae8d74 100644 --- a/OvmfPkg/CloudHv/CloudHvX64.dsc +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc @@ -582,6 +582,7 @@ # ($(SMM_REQUIRE) =3D=3D FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE !if $(SMM_REQUIRE) =3D=3D FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX6= 4.dsc index 345892651520..4c4da09b9024 100644 --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc @@ -474,6 +474,7 @@ # ($(SMM_REQUIRE) =3D=3D FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc index 994a02d30107..1d5ba0e810a1 100644 --- a/OvmfPkg/Microvm/MicrovmX64.dsc +++ b/OvmfPkg/Microvm/MicrovmX64.dsc @@ -579,7 +579,7 @@ # only set when # ($(SMM_REQUIRE) =3D=3D FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 - + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc index 6f774baf90f5..e8a074153a77 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc @@ -601,6 +601,7 @@ # ($(SMM_REQUIRE) =3D=3D FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE !if $(SMM_REQUIRE) =3D=3D FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc index c851764dec05..0197997793a9 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -609,6 +609,7 @@ # ($(SMM_REQUIRE) =3D=3D FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE !if $(SMM_REQUIRE) =3D=3D FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc index 63c3a47aea30..fade13b4e80c 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc @@ -631,6 +631,7 @@ # ($(SMM_REQUIRE) =3D=3D FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE !if $(SMM_REQUIRE) =3D=3D FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/Plat= formPei.inf index 1fadadeb5565..3e28e1596d32 100644 --- a/OvmfPkg/PlatformPei/PlatformPei.inf +++ b/OvmfPkg/PlatformPei/PlatformPei.inf @@ -99,6 +99,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c index b1f8140d6041..e5132d95a8f8 100644 --- a/OvmfPkg/PlatformPei/Platform.c +++ b/OvmfPkg/PlatformPei/Platform.c @@ -41,6 +41,18 @@ =20 #include "Platform.h" =20 +#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName) \ + do { \ + BOOLEAN Setting; \ + RETURN_STATUS PcdStatus; \ + \ + if (!RETURN_ERROR (QemuFwCfgParseBool ( \ + "opt/ovmf/" #TokenName, &Setting))) { \ + PcdStatus =3D PcdSetBoolS (TokenName, Setting); \ + ASSERT_RETURN_ERROR (PcdStatus); \ + } \ + } while (0) + EFI_HOB_PLATFORM_INFO mPlatformInfoHob =3D { 0 }; =20 EFI_PEI_PPI_DESCRIPTOR mPpiBootMode[] =3D { @@ -376,6 +388,7 @@ InitializePlatform ( MemTypeInfoInitialization (); MemMapInitialization (&mPlatformInfoHob); NoexecDxeInitialization (); + UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm); } =20 InstallClearCacheCallback (); --=20 2.38.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 (#96639): https://edk2.groups.io/g/devel/message/96639 Mute This Topic: https://groups.io/mt/95304211/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- From nobody Mon May 6 11:35:16 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+96640+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+96640+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1669610149; cv=none; d=zohomail.com; s=zohoarc; b=b0kPv+HTkq1aV4qI7fkODzOUWmmQ6ShAXojOvVi8Jj9opppQb+ePU715mBf7PN4W15mTOj77cstNxWJzvoIo7HGfrPv6FxTCMsWM4Euf5pKJCkXnvtjxrn1C8dhskmsojXk6NCmqOqst3gaOF53IMS9ZnAxyAHuZ6N9RpCwqxD8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1669610149; 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=e/QYAL5kV57WDXgVb3k1WWbNc2CWaTSbmKe47g11E3E=; b=d8+7e6WXBO7k9sjWYSUsQuf443qwoZGs8fptY636FhJrmm4VCu0lC9P1GBKAmK3FpXFB3EuoTUnEY8utHru0NFCTmFccRPcKrhwX/seGSWRyoryIUlAPkgAhh67kmQiRkMzmAWT1VsZtQr8d9c1+QsDpqo40cJFwIrk+RsA0tZE= 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+96640+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 1669610149837793.9652348811601; Sun, 27 Nov 2022 20:35:49 -0800 (PST) Return-Path: X-Received: by 127.0.0.2 with SMTP id 91uUYY1788612xzSmgYjegdy; Sun, 27 Nov 2022 20:35:49 -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.web10.110117.1669610148738460652 for ; Sun, 27 Nov 2022 20:35:49 -0800 X-Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_128_GCM_SHA256) id us-mta-6-Mo_rrj1JNg2ZJiZ7EUkaqQ-1; Sun, 27 Nov 2022 23:35:46 -0500 X-MC-Unique: Mo_rrj1JNg2ZJiZ7EUkaqQ-1 X-Received: by mail-wm1-f72.google.com with SMTP id v188-20020a1cacc5000000b003cf76c4ae66so8043085wme.7 for ; Sun, 27 Nov 2022 20:35:46 -0800 (PST) X-Gm-Message-State: uWI0Zbi2I8BzKtzOrwfvpzjAx1787277AA= X-Received: by 2002:a5d:6f02:0:b0:242:1720:d52d with SMTP id ay2-20020a5d6f02000000b002421720d52dmr1611243wrb.704.1669610144820; Sun, 27 Nov 2022 20:35:44 -0800 (PST) X-Google-Smtp-Source: AA0mqf58Rkn6Ey/SNBpvFIR2n0vObpRUPPdFuiK5oXFcVzrzwJQ87ob8ebV47cv9i5TMwWjDlJesbQ== X-Received: by 2002:a5d:6f02:0:b0:242:1720:d52d with SMTP id ay2-20020a5d6f02000000b002421720d52dmr1611234wrb.704.1669610144577; Sun, 27 Nov 2022 20:35:44 -0800 (PST) X-Received: from czapka.redhat.com ([93.177.91.185]) by smtp.gmail.com with ESMTPSA id r20-20020a05600c35d400b003c6d21a19a0sm14548958wmq.29.2022.11.27.20.35.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 27 Nov 2022 20:35:43 -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 v2 3/3] ArmVirtPkg: take PcdResizeXterm from the QEMU command line Date: Mon, 28 Nov 2022 05:35:22 +0100 Message-Id: <78837b3e6b2b5980e34ad300a03f7135d988a200.1669610016.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-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1669610149; bh=PrDudLYPtbQRsRlzM2HGePLwG8c3viHVrZXRp3lZ+W8=; h=Cc:Content-Type:Date:From:Reply-To:Subject:To; b=Eyvh+dHbVHzwHjAnUJVqrTF7K5I2b/3LN08CKPbT0x/xkIipZjJ8z6K3RiveP3GhMDb 0aApNYQEEVJcVQBWq0aXbJDbjY7rD9Q6BDZFtVGdjbOl9putAsyW76XpQiHn0lwjbNeQg e4Qmp5KyJhVjkUGTxF6A39nzGMajCTElyWw= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1669610151088100003 Content-Type: text/plain; charset="utf-8" From: Laszlo Ersek Allow enable XTerm resize sequences on terminal mode changes via QEMU command line 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 = +++- ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf | 33 = ++++++++++++++++ ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c | 41 = ++++++++++++++++++++ 3 files changed, 80 insertions(+), 1 deletion(-) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc index f77443229e8e..ed66f0003082 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc @@ -299,6 +299,8 @@ gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0 !endif =20 + gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE + [PcdsDynamicHii] gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGui= d|0x0|FALSE|NV,BS =20 @@ -413,7 +415,10 @@ 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|ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLi= b.inf + } MdeModulePkg/Universal/SerialDxe/SerialDxe.inf =20 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerL= ib.inf b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.i= nf new file mode 100644 index 000000000000..b4108ec04b0b --- /dev/null +++ b/ArmVirtPkg/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/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerL= ib.c b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c new file mode 100644 index 000000000000..783f133d671a --- /dev/null +++ b/ArmVirtPkg/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.edk2.aavmf/" #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.38.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 (#96640): https://edk2.groups.io/g/devel/message/96640 Mute This Topic: https://groups.io/mt/95304212/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-