> -----Original Message-----
> From: Justen, Jordan L <jordan.l.jus...@intel.com>
> Sent: Thursday, February 21, 2019 1:44 AM
> To: Gao, Liming <liming....@intel.com>; Ni, Ray <ray...@intel.com>; edk2-
> de...@lists.01.org
> Cc: Wu, Hao A <hao.a...@intel.com>; Anthony Perard
> <anthony.per...@citrix.com>; Laszlo Ersek <ler...@redhat.com>; Zeng,
> Star <star.z...@intel.com>
> Subject: Re: [PATCH 00/10] Fix PEI Core issue during TemporaryRamMigration
> 
> On 2019-02-20 05:27:21, Ni, Ray wrote:
> > On 2/19/2019 9:25 PM, Gao, Liming wrote:
> > > Ray:
> > >
> > >      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?
> > >
> >
> > 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?

I feel the change to PeiCore is a bit complex and introduce additional deps 
(assembly).
Behavior of ARM and x86 becomes different. (The patch only fixes x86 issue.)
Given there is no real requirement on this, I prefer to not change PeiCore.

> 
> -Jordan
> 
> >
> > >> -----Original Message-----
> > >> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf
> > >> Of Ni, Ray
> > >> Sent: Tuesday, February 19, 2019 10:46 AM
> > >> To: Justen, Jordan L <jordan.l.jus...@intel.com>;
> > >> edk2-devel@lists.01.org
> > >> Cc: Wu, Hao A <hao.a...@intel.com>; Anthony Perard
> > >> <anthony.per...@citrix.com>; Laszlo Ersek <ler...@redhat.com>;
> > >> Zeng, Star <star.z...@intel.com>
> > >> Subject: Re: [edk2] [PATCH 00/10] Fix PEI Core issue during
> > >> TemporaryRamMigration
> > >>
> > >> 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 <jordan.l.jus...@intel.com>
> > >>> Sent: Monday, February 18, 2019 12:12 PM
> > >>> To: edk2-devel@lists.01.org
> > >>> Cc: Justen, Jordan L <jordan.l.jus...@intel.com>; Liu Yu
> > >>> <pedroa....@outlook.com>; Andrew Fish <af...@apple.com>;
> Anthony
> > >>> Perard <anthony.per...@citrix.com>; Ard Biesheuvel
> > >>> <ard.biesheu...@linaro.org>; Wu, Hao A <hao.a...@intel.com>;
> Wang,
> > >>> Jian J <jian.j.w...@intel.com>; Julien Grall
> > >>> <julien.gr...@linaro.org>; Laszlo Ersek <ler...@redhat.com>; Ni,
> > >>> Ray <ray...@intel.com>; Zeng, Star <star.z...@intel.com>
> > >>> 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 PEI Core.
> > >>>
> > >>> Liu Yu reported a boot issue with EmulatorPkg, which I believe was
> > >>> caused 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 <pedroa....@outlook.com>
> > >>> Cc: Andrew Fish <af...@apple.com>
> > >>> Cc: Anthony Perard <anthony.per...@citrix.com>
> > >>> Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
> > >>> Cc: Hao Wu <hao.a...@intel.com>
> > >>> Cc: Jian J Wang <jian.j.w...@intel.com>
> > >>> Cc: Julien Grall <julien.gr...@linaro.org>
> > >>> Cc: Laszlo Ersek <ler...@redhat.com>
> > >>> Cc: Ray Ni <ray...@intel.com>
> > >>> Cc: Star Zeng <star.z...@intel.com>
> > >>>
> > >>> 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
> >
> >
> > --
> > Thanks,
> > Ray
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to