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.151; helo=mga17.intel.com; envelope-from=jordan.l.justen@intel.com; receiver=edk2-devel@lists.01.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (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 C8AFD211CBCE3 for ; Wed, 20 Feb 2019 09:43:51 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Feb 2019 09:43:51 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.58,391,1544515200"; d="scan'208";a="119466583" Received: from mmdandap-mobl1.amr.corp.intel.com (HELO localhost) ([10.254.8.66]) by orsmga008.jf.intel.com with ESMTP; 20 Feb 2019 09:43:49 -0800 MIME-Version: 1.0 In-Reply-To: References: <20190218041141.21363-1-jordan.l.justen@intel.com> <734D49CCEBEEF84792F5B80ED585239D5C023766@SHSMSX104.ccr.corp.intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E3E1923@SHSMSX104.ccr.corp.intel.com> To: "Gao, Liming" , "Ni, Ray" , "edk2-devel@lists.01.org" From: Jordan Justen Cc: "Wu, Hao A" , Anthony Perard , Laszlo Ersek , "Zeng, Star" Message-ID: <155068462865.16578.13632602389562462232@jljusten-skl> User-Agent: alot/0.8.1 Date: Wed, 20 Feb 2019 09:43:48 -0800 Subject: Re: [PATCH 00/10] Fix PEI Core issue during TemporaryRamMigration 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, 20 Feb 2019 17:43:52 -0000 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable On 2019-02-20 05:27:21, Ni, Ray wrote: > On 2/19/2019 9:25 PM, Gao, Liming wrote: > > Ray: > >=20 > > Now, real platform has no side effect. So, only TempRamDone > > PPI is produced. For emulator platform, is there any side > > effect when both Temporary RAM and Permanent RAM are enabled? > >=20 >=20 > No side effect when both of T-RAM and P-RAM are enabled. > Which means no side effect when neither of the PPIs is produced. > But for demo purpose, I think producing TemporaryRamDone PPI makes sense. In addition to being a demo/sample, it also provides a check that no modules are accessing temp-ram after temp-ram should no longer be used. > I will work out patches for EmulatorPkg to produce TemoraryRamDone. I think we should first fix TemporaryRamSupport usage. Otherwise, we are just hiding the bug. Have you tried these patches to verify that they fix the issue in your setup? Have you taken a look at the patches to see what problem is being fixed? -Jordan >=20 > >> -----Original Message----- > >> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of= Ni, Ray > >> Sent: Tuesday, February 19, 2019 10:46 AM > >> To: Justen, Jordan L ; edk2-devel@lists.01.= org > >> Cc: Wu, Hao A ; Anthony Perard ; Laszlo Ersek ; Zeng, Star > >> > >> Subject: Re: [edk2] [PATCH 00/10] Fix PEI Core issue during TemporaryR= amMigration > >> > >> Jordan, > >> I find many real platforms do not implement the temporary ram migration > >> PPI and rely on the PeiCore migration logic. > >> So perhaps TemporaryRamMigration PPI was added to help platform to > >> destroy the temporary RAM (CAR in x86 platform). > >> But with the introduction of TemporaryRamDone PPI, maybe the > >> TemporaryRamMigration PPI can be retired. > >> The logic in PeiCore to call TemporaryRamMigration is just for backward > >> compatibility. > >> If that's true, do you still need to enhance PeiCore? > >> > >> For the Emulator case, I already found without TemporaryRamMigration > >> the platform can still boot. > >> > >> Does OVMF hard-depend on TemporaryRamMigration? Or it can reply on > >> the PeiCore migration logic + TemporaryDone PPI? > >> > >> Thanks, > >> Ray > >> > >>> -----Original Message----- > >>> From: Justen, Jordan L > >>> Sent: Monday, February 18, 2019 12:12 PM > >>> To: edk2-devel@lists.01.org > >>> Cc: Justen, Jordan L ; Liu Yu > >>> ; Andrew Fish ; Anthony > >>> Perard ; Ard Biesheuvel > >>> ; Wu, Hao A ; Wang, Ji= an > >>> J ; Julien Grall ; La= szlo Ersek > >>> ; Ni, Ray ; Zeng, Star > >>> > >>> Subject: [PATCH 00/10] Fix PEI Core issue during TemporaryRamMigration > >>> > >>> https://github.com/jljusten/edk2.git temp-ram-support > >>> > >>> This series fixes an issue that, while rare, is possible based on the= way the > >>> TemporaryRamSupport PPI is defined along with how it is used by the P= EI > >>> Core. > >>> > >>> Liu Yu reported a boot issue with EmulatorPkg, which I believe was ca= used by > >>> this issue. > >>> > >>> The details of the issue are described in the commit message of the > >>> "MdeModePkg/Core/Pei: Add code path to allow assembly temp-ram > >>> migration" patch. > >>> > >>> Along with this, I added a few Temporary RAM patches for EmulatorPkg = and > >>> OvmfPkg. > >>> > >>> Cc: Liu Yu > >>> Cc: Andrew Fish > >>> Cc: Anthony Perard > >>> Cc: Ard Biesheuvel > >>> Cc: Hao Wu > >>> Cc: Jian J Wang > >>> Cc: Julien Grall > >>> Cc: Laszlo Ersek > >>> Cc: Ray Ni > >>> Cc: Star Zeng > >>> > >>> Jordan Justen (10): > >>> EmulatorPkg/build.sh: Fix missing usage of -b BUILDTARGET parameter > >>> EmulatorPkg/Unix/Host: Use PcdInitValueInTempStack to init temp-ram > >>> EmulatorPkg/Sec: Replace assembly temp-ram support with C code > >>> EmulatorPkg/Sec: Disable optimizations for TemporaryRamMigration > >>> function > >>> OvmfPkg/Sec: Swap TemporaryRam Stack and Heap locations > >>> OvmfPkg/Sec: Disable optimizations for TemporaryRamMigration > >>> MdeModePkg/Core/Pei: Add code path to allow assembly temp-ram > >>> migration > >>> MdeModulePkg/Core/Pei: Use assembly for X64 TemporaryRamMigration > >>> MdeModulePkg/Core/Pei: Use assembly for IA32 TemporaryRamMigration > >>> OvmfPkg/Sec: Fill Temp Ram after TemporaryRamMigration > >>> > >>> EmulatorPkg/Sec/Ia32/SwitchRam.S | 95 ----------------= --- > >>> EmulatorPkg/Sec/Ia32/SwitchRam.asm | 94 ----------------= -- > >>> EmulatorPkg/Sec/Ia32/TempRam.c | 65 ------------- > >>> EmulatorPkg/Sec/Sec.c | 76 ++++++++++++++- > >>> EmulatorPkg/Sec/Sec.inf | 13 +-- > >>> EmulatorPkg/Sec/X64/SwitchRam.S | 72 -------------- > >>> EmulatorPkg/Sec/X64/SwitchRam.asm | 76 --------------- > >>> EmulatorPkg/Unix/Host/Host.c | 2 +- > >>> EmulatorPkg/Unix/Host/Host.inf | 1 + > >>> EmulatorPkg/build.sh | 10 +- > >>> MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 59 ++++++++---- > >>> .../Dispatcher/Ia32/TemporaryRamMigration.S | 72 ++++++++++++++ > >>> .../Ia32/TemporaryRamMigration.nasm | 78 +++++++++++++++ > >>> .../Pei/Dispatcher/TemporaryRamMigration.c | 52 ++++++++++ > >>> .../Dispatcher/X64/TemporaryRamMigration.S | 69 ++++++++++++++ > >>> .../Dispatcher/X64/TemporaryRamMigration.nasm | 75 +++++++++++++++ > >>> MdeModulePkg/Core/Pei/PeiMain.h | 52 ++++++++++ > >>> MdeModulePkg/Core/Pei/PeiMain.inf | 14 +++ > >>> OvmfPkg/Sec/Ia32/SecEntry.nasm | 2 +- > >>> OvmfPkg/Sec/SecMain.c | 59 ++++++++---- > >>> OvmfPkg/Sec/X64/SecEntry.nasm | 2 +- > >>> 21 files changed, 577 insertions(+), 461 deletions(-) delete mode = 100644 > >>> EmulatorPkg/Sec/Ia32/SwitchRam.S delete mode 100644 > >>> EmulatorPkg/Sec/Ia32/SwitchRam.asm > >>> delete mode 100644 EmulatorPkg/Sec/Ia32/TempRam.c delete mode > >>> 100644 EmulatorPkg/Sec/X64/SwitchRam.S delete mode 100644 > >>> EmulatorPkg/Sec/X64/SwitchRam.asm create mode 100644 > >>> MdeModulePkg/Core/Pei/Dispatcher/Ia32/TemporaryRamMigration.S > >>> create mode 100644 > >>> MdeModulePkg/Core/Pei/Dispatcher/Ia32/TemporaryRamMigration.nasm > >>> create mode 100644 > >>> MdeModulePkg/Core/Pei/Dispatcher/TemporaryRamMigration.c > >>> create mode 100644 > >>> MdeModulePkg/Core/Pei/Dispatcher/X64/TemporaryRamMigration.S > >>> create mode 100644 > >>> MdeModulePkg/Core/Pei/Dispatcher/X64/TemporaryRamMigration.nasm > >>> > >>> -- > >>> 2.20.0.rc1 > >> > >> _______________________________________________ > >> edk2-devel mailing list > >> edk2-devel@lists.01.org > >> https://lists.01.org/mailman/listinfo/edk2-devel >=20 >=20 > --=20 > Thanks, > Ray