public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v2 0/6] Fix PEI Core issue during TemporaryRamMigration
@ 2019-04-10  8:39 Jordan Justen
  2019-04-10  8:39 ` [PATCH v2 1/6] MdeModulePkg/Core/Pei: Add interface for assembly based TemporaryRamSupport Jordan Justen
                   ` (7 more replies)
  0 siblings, 8 replies; 12+ messages in thread
From: Jordan Justen @ 2019-04-10  8:39 UTC (permalink / raw)
  To: devel
  Cc: Jordan Justen, Liu Yu, Ray Ni, Andrew Fish, Laszlo Ersek,
	Leif Lindholm, Michael D Kinney

https://github.com/jljusten/edk2.git temp-ram-support-v2

https://github.com/jljusten/edk2/commits/temp-ram-support-v2

v2:
 * Add AARCH64 and ARM assembly
 * Drop IA32 and X64 .S source files
 * Adjust PEI_CORE_TEMPORARY_RAM_TRANSITION pointer in the assembly
   code based on the stack pointer change before & after
   TemporaryRamSupport->TemporaryRamMigration
 * Drop extra cleanup patches for OvmfPkg & EmulatorPkg. These were
   just complicating the series.

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
"MdeModulePkg/Core/Pei: Add interface for assembly based
TemporaryRamSupport" patch.

Testing:

I tested building and booting in several scenarios:

* OVMF IA32 & X64 on Linux
* ArmVirtPkg AARCH64 & ARM on x86_64 Linux
* EmulatorPkg IA32 & X64 on Linux

Untested:

* My system does not reproduce the issue that Liu Yu reported with
  EmulatorPkg, so I can't say that I have verified that issue.
* Building on windows
* AARCH64/ARM TemporaryRamMigration.asm sources

Cc: Liu Yu <pedroa.liu@outlook.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Michael D Kinney <michael.d.kinney@intel.com>

Jordan Justen (6):
  MdeModulePkg/Core/Pei: Add interface for assembly based
    TemporaryRamSupport
  MdeModulePkg/Core/Pei: Add AARCH64 assembly for TemporaryRamMigration
  MdeModulePkg/Core/Pei: Add ARM assembly for TemporaryRamMigration
  MdeModulePkg/Core/Pei: Add IA32 assembly for TemporaryRamMigration
  MdeModulePkg/Core/Pei: Add X64 assembly for TemporaryRamMigration
  MdeModulePkg/Core/Pei: Use code path for assembly based
    TemporaryRamSupport

 .../AArch64/TemporaryRamMigration.S           | 63 +++++++++++++++
 .../AArch64/TemporaryRamMigration.asm         | 63 +++++++++++++++
 .../Dispatcher/Arm/TemporaryRamMigration.S    | 68 ++++++++++++++++
 .../Dispatcher/Arm/TemporaryRamMigration.asm  | 68 ++++++++++++++++
 MdeModulePkg/Core/Pei/Dispatcher/Dispatcher.c | 59 +++++++++-----
 .../Ia32/TemporaryRamMigration.nasm           | 77 +++++++++++++++++++
 .../Dispatcher/X64/TemporaryRamMigration.nasm | 74 ++++++++++++++++++
 MdeModulePkg/Core/Pei/PeiMain.h               | 52 +++++++++++++
 MdeModulePkg/Core/Pei/PeiMain.inf             | 15 ++++
 9 files changed, 518 insertions(+), 21 deletions(-)
 create mode 100644 MdeModulePkg/Core/Pei/Dispatcher/AArch64/TemporaryRamMigration.S
 create mode 100644 MdeModulePkg/Core/Pei/Dispatcher/AArch64/TemporaryRamMigration.asm
 create mode 100644 MdeModulePkg/Core/Pei/Dispatcher/Arm/TemporaryRamMigration.S
 create mode 100644 MdeModulePkg/Core/Pei/Dispatcher/Arm/TemporaryRamMigration.asm
 create mode 100644 MdeModulePkg/Core/Pei/Dispatcher/Ia32/TemporaryRamMigration.nasm
 create mode 100644 MdeModulePkg/Core/Pei/Dispatcher/X64/TemporaryRamMigration.nasm

-- 
2.20.1


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-04-10 18:54 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-10  8:39 [PATCH v2 0/6] Fix PEI Core issue during TemporaryRamMigration Jordan Justen
2019-04-10  8:39 ` [PATCH v2 1/6] MdeModulePkg/Core/Pei: Add interface for assembly based TemporaryRamSupport Jordan Justen
2019-04-10  8:39 ` [PATCH v2 2/6] MdeModulePkg/Core/Pei: Add AARCH64 assembly for TemporaryRamMigration Jordan Justen
2019-04-10  8:39 ` [PATCH v2 3/6] MdeModulePkg/Core/Pei: Add ARM " Jordan Justen
2019-04-10  8:39 ` [PATCH v2 4/6] MdeModulePkg/Core/Pei: Add IA32 " Jordan Justen
2019-04-10  8:39 ` [PATCH v2 5/6] MdeModulePkg/Core/Pei: Add X64 " Jordan Justen
2019-04-10  8:40 ` [PATCH v2 6/6] MdeModulePkg/Core/Pei: Use code path for assembly based TemporaryRamSupport Jordan Justen
2019-04-10 16:41 ` [edk2-devel] [PATCH v2 0/6] Fix PEI Core issue during TemporaryRamMigration Ard Biesheuvel
2019-04-10 18:28   ` Laszlo Ersek
2019-04-10 18:31     ` Ard Biesheuvel
2019-04-10 18:54   ` Jordan Justen
2019-04-10 17:26 ` Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox