From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=jordan.l.justen@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (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 6E8C020081A65 for ; Tue, 5 Mar 2019 13:48:13 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Mar 2019 13:48:13 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,445,1544515200"; d="scan'208";a="129278377" Received: from bpalmer-mobl.amr.corp.intel.com (HELO localhost) ([10.251.157.68]) by fmsmga008.fm.intel.com with ESMTP; 05 Mar 2019 13:48:12 -0800 MIME-Version: 1.0 In-Reply-To: <734D49CCEBEEF84792F5B80ED585239D5C05DE53@SHSMSX104.ccr.corp.intel.com> References: <20190302121111.70992-1-ray.ni@intel.com> <155156311737.17885.4362726503400495940@jljusten-skl> <734D49CCEBEEF84792F5B80ED585239D5C05DE53@SHSMSX104.ccr.corp.intel.com> Cc: Andrew Fish , Laszlo Ersek , Leif Lindholm , Michael D Kinney To: "Ni, Ray" , "edk2-devel@lists.01.org" From: Jordan Justen Message-ID: <155182249221.4162.13515420509245239988@jljusten-skl> User-Agent: alot/0.8 Date: Tue, 05 Mar 2019 13:48:12 -0800 Subject: Re: [PATCH] EmulatorPkg/Sec: Don't install TemporaryRamSupport PPI 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: Tue, 05 Mar 2019 21:48:13 -0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On 2019-03-04 18:37:03, Ni, Ray wrote: >=20 > > -----Original Message----- > > From: edk2-devel On Behalf Of Jordan > > Justen > > Sent: Sunday, March 3, 2019 5:45 AM > > To: Ni, Ray ; edk2-devel@lists.01.org > > Subject: Re: [edk2] [PATCH] EmulatorPkg/Sec: Don't install > > TemporaryRamSupport PPI > >=20 > > On 2019-03-02 04:11:11, Ray Ni wrote: > > > > > > So this patch removes TemporaryRamSupport PPI implementation from > > > EmulatorPkg/Sec module to fix the boot failure when using GCC5. > >=20 > > I don't think we should just hide the known bug with the > > TemporaryRamSupport PPI implementation in the PEI Core. > >=20 > > I would agree that we should make this change after addressing that. >=20 > Jordan, > I have a goal to replace Nt32 with EmulatorPkg before Q2 stable tag relea= se. > I understand we need more discussions on how to fix the PeiCore bug. > So I don't want this blocks the Nt32 deletion. Given the choice of fixing a known bug in PEI Core relating to the PI spec TemporaryRamSupport PPI, or deleting Nt32, I would choose fixing the bug. But, why not fix the bug, and then make this change? > And in my opinion, the TemporaryRamSupport PPI that requires being called > from assembly code is a design bug. I agree. It's unfortunate, but it is part of the PI spec, and unlikely to be changed very soon. Even if a new PPI is added, I would guess that the old PPI might remain in the PI spec. Maybe it would be marked as deprecated at some point and then removed later? I am no fan adding assembly language unnecessarily. But, I can't see a way around it in this case. > I suggest to change the PI spec instead of changing PeiCore by introducing > more assembly code to hide this design bug. I did prototype a TemporaryRamSupport2 PPI under: https://github.com/jljusten/edk2/tree/temp-ram-support2 My prototype still used assembly, as I don't think the TemporaryRamSupport PPI would be quickly removed from the PI spec. (And, therefore, I think edk2's PEI Core should support it without known bugs.) But, I think the new TemporaryRamSupport2 PPI should be possible to safely implement in C code for both the PEI Core and in the PPI implementation. -Jordan