From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.132.183.28; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 1E113211F26BB for ; Wed, 3 Apr 2019 05:39:21 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id A8806308426A; Wed, 3 Apr 2019 12:39:20 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-127.rdu2.redhat.com [10.10.120.127]) by smtp.corp.redhat.com (Postfix) with ESMTP id 790996014E; Wed, 3 Apr 2019 12:39:19 +0000 (UTC) To: Hao Wu , edk2-devel@lists.01.org Cc: Jordan Justen , David Woodhouse References: <20190403070036.1404-1-hao.a.wu@intel.com> <20190403070036.1404-4-hao.a.wu@intel.com> From: Laszlo Ersek Message-ID: <3933d84e-bc56-af10-3cc9-1418e350675d@redhat.com> Date: Wed, 3 Apr 2019 14:39:03 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20190403070036.1404-4-hao.a.wu@intel.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.40]); Wed, 03 Apr 2019 12:39:20 +0000 (UTC) Subject: Re: [RFC PATCH v1 3/8] OvmfPkg/OvmfPkg.dec: Add 8259-related PCDs in OVMF DEC file X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Apr 2019 12:39:21 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 04/03/19 09:00, Hao Wu wrote: > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1496 > > According to the DEC file in PcAtChipsetPkg, this commit adds the two > 8259-driver-related PCDs into the OvmfPkg DEC file. > > Cc: Jordan Justen > Cc: Laszlo Ersek > Cc: Ard Biesheuvel > Cc: David Woodhouse > Cc: Ray Ni > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Hao Wu > --- > OvmfPkg/OvmfPkg.dec | 26 ++++++++++++++++++++ > 1 file changed, 26 insertions(+) > > diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec > index fb89ebf3ad..cb838422aa 100644 > --- a/OvmfPkg/OvmfPkg.dec > +++ b/OvmfPkg/OvmfPkg.dec > @@ -128,6 +128,32 @@ > gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize|0x0|UINT32|0x1a > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDecompressionScratchEnd|0x0|UINT32|0x1f > > + ## Pcd8259LegacyModeMask defines the default mask value for platform. This > + # value is determined. > + # 1) If platform only support pure UEFI, value should be set to 0xFFFF or > + # 0xFFFE; Because only clock interrupt is allowed in legacy mode in pure > + # UEFI platform. > + # 2) If platform install CSM and use thunk module: > + # a) If thunk call provided by CSM binary requires some legacy interrupt > + # support, the corresponding bit should be opened as 0. > + # For example, if keyboard interfaces provided CSM binary use legacy > + # keyboard interrupt in 8259 bit 1, then the value should be set to > + # 0xFFFC. > + # b) If all thunk call provied by CSM binary do not require legacy > + # interrupt support, value should be set to 0xFFFF or 0xFFFE. > + # > + # The default value of legacy mode mask could be changed by > + # EFI_LEGACY_8259_PROTOCOL->SetMask(). But it is rarely need change it > + # except some special cases such as when initializing the CSM binary, it > + # should be set to 0xFFFF to mask all legacy interrupt. Please restore the > + # original legacy mask value if changing is made for these special case. > + gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeMask|0xFFFF|UINT16|0x28 > + > + ## Pcd8259LegacyModeEdgeLevel defines the default edge level for legacy > + # mode's interrrupt controller. > + # For the corresponding bits, 0 = Edge triggered and 1 = Level triggered. > + gUefiOvmfPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0000|UINT16|0x29 > + > [PcdsDynamic, PcdsDynamicEx] > gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10 > Thank you for wrapping the comments so nicely! (1) In PcAtChipsetPkg.dec, both PCDs are declared under: [PcdsFixedAtBuild, PcdsDynamic, PcdsDynamicEx, PcdsPatchableInModule] but in OvmfPkg, this patch introduces both PCDs under just [PcdsFixedAtBuild] I think that's fine for now, but please mention this change in the commit message. (2) OVMF's PCD token space seems to have some holes, namely at: 3 decimal, 5 decimal, and 0x17. Can you introduce the new PCDs with tokens 3 and 5, just to decrease the fragmentation? With (1) and (2) addressed: Reviewed-by: Laszlo Ersek Thanks, Laszlo