From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=pass header.i=@linaro.org header.s=google header.b=AzfeLrC5; spf=pass (domain: linaro.org, ip: 209.85.166.68, mailfrom: ard.biesheuvel@linaro.org) Received: from mail-io1-f68.google.com (mail-io1-f68.google.com [209.85.166.68]) by groups.io with SMTP; Wed, 10 Apr 2019 09:41:54 -0700 Received: by mail-io1-f68.google.com with SMTP id b6so2765551iog.0 for ; Wed, 10 Apr 2019 09:41:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=UpL6m/soL3apkoS0tEo+/L9XO1L/K09SGdn/MxyYL3A=; b=AzfeLrC5GItOICGv6lSWoiNpFhsRgC/Oi2mCUfowVZwhHcmHFnO8/cvuQTKRo6HJ3t omnmvN69JNB9F05tnmyVI34lNGmkuBsD7KJpRnt6KaplY5flWfrObF2JiBZdSn0uzL0f dAWAqlXO+TYFx2587O3j6NFpC081qH93TVKb2vqgfBkEdaAwLdQBMfGAdGHpdsDa5vjP iHRgLn6tz1Wx0e+BElNF2Yr28YEkdwtdWKBhgY8z6f/8riMiN91USubd+CwiV+i0PLZR 8EdanDgQEA3mR2jaUIP9IwK9ZF9pZcNoTKnk950p31OwQz31vjPJPqz1hOwAExGJOiTk qZ7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=UpL6m/soL3apkoS0tEo+/L9XO1L/K09SGdn/MxyYL3A=; b=hRvkanrPrYWZ5gvv51hVCVqtZ4F1pIHAxgFJBzHhgCFZd4+eWRLKcPhg6pYs5YcIbF KX9Y277gclJVe1Vpv+qGHsDIvncaxi9wAo4ojR2vKnzH6vdyrP470QbxnpIJlWDPdUdy s8uFTwFikmN2oe610yaUCPxt/b+r+QDskkqlw1zOB75k+1b9zeVR1ZSjrmIkBx27ERG0 v0MzBQ+t5Xz8NXaoRPeEpZeR0UJOntnU40+acpKpMGXKZtetTL6h6QfEynRHhR+p/HEZ O5LjNw23GsF1sLRWHhgPqK0owicxVQ29f1kC5xLvDAs9sW4/El655GMqpLnaChclcicI KWbQ== X-Gm-Message-State: APjAAAUDZJFURB6rqzBsraS9MPo5MTu/JxoLG5VhZraSwFgdtxj6rHEp cW7034OGIzPYmzWrSCv0w1sLb0V4PhB9RbG8VdKOqsBIjkV1wQ== X-Google-Smtp-Source: APXvYqyQM0NDshFcOewVYqrdgJCellSr1EEP9f91LaCcjGmvIXPObiq8LXz29mVKGhsNZzqwP3sYJdpX0P6ZUkX/ubU= X-Received: by 2002:a6b:f201:: with SMTP id q1mr22608262ioh.197.1554914513163; Wed, 10 Apr 2019 09:41:53 -0700 (PDT) MIME-Version: 1.0 References: <20190410084000.19660-1-jordan.l.justen@intel.com> In-Reply-To: <20190410084000.19660-1-jordan.l.justen@intel.com> From: "Ard Biesheuvel" Date: Wed, 10 Apr 2019 09:41:43 -0700 Message-ID: Subject: Re: [edk2-devel] [PATCH v2 0/6] Fix PEI Core issue during TemporaryRamMigration To: edk2-devel-groups-io , Jordan Justen Cc: Liu Yu , Ray Ni , Andrew Fish , Laszlo Ersek , Leif Lindholm , Michael D Kinney Content-Type: text/plain; charset="UTF-8" On Wed, 10 Apr 2019 at 01:41, Jordan Justen wrote: > > 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 Hi Jordan, I'm not sure I'm following the reasoning behind this. Does this fix an issue we currently have on ARM systems? And how did you build and/or test OVMF for ARM? > * 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 > Cc: Ray Ni > Cc: Andrew Fish > Cc: Laszlo Ersek > Cc: Leif Lindholm > Cc: Michael D Kinney > > 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 > > > >