public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Laszlo Ersek <lersek@redhat.com>
To: Ard Biesheuvel <ard.biesheuvel@linaro.org>, edk2-devel@lists.01.org
Cc: leif.lindholm@linaro.org
Subject: Re: [PATCH 07/15] ArmVirtPkg/PrePi: remove ArmPlatformStackLib dependency
Date: Tue, 21 Nov 2017 16:51:47 +0100	[thread overview]
Message-ID: <f923bf57-d2ad-3d56-4881-533d6ffb8680@redhat.com> (raw)
In-Reply-To: <20171117160913.17292-8-ard.biesheuvel@linaro.org>

On 11/17/17 17:09, Ard Biesheuvel wrote:
> ArmPlatformStackLib has hooks into primary/secondary core PCDs and
> other ArmPlatformLib related junk, so let's simply set the stack
> pointer directly. This is trivial given that our PrePi is unicore
> only.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
> ---
>  ArmVirtPkg/ArmVirt.dsc.inc                          |  1 -
>  ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S         | 14 ++------------
>  ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S             | 14 ++------------
>  ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf |  1 -
>  4 files changed, 4 insertions(+), 26 deletions(-)
> 
> diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
> index 50eb8675d1c0..5d7edff104b5 100644
> --- a/ArmVirtPkg/ArmVirt.dsc.inc
> +++ b/ArmVirtPkg/ArmVirt.dsc.inc
> @@ -93,7 +93,6 @@ [LibraryClasses.common]
>    ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
>    ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
>    ArmGicArchLib|ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf
> -  ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
>    ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
>    ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
>    ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf
> diff --git a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S
> index 3296aedfe9aa..891cf1fcab40 100644
> --- a/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S
> +++ b/ArmVirtPkg/PrePi/AArch64/ModuleEntryPoint.S
> @@ -111,22 +111,12 @@ _GetBaseUefiMemory:
>  
>  _GetStackBase:
>    // r1 = The top of the Mpcore Stacks

Before pushing the patch, please consider updating the "r1" comment
here, in the aarch64 version.

Acked-by: Laszlo Ersek <lersek@redhat.com>

Thanks
Laszlo

> +  mov   sp, x1
> +
>    // Stack for the primary core = PrimaryCoreStack
>    MOV32 (x2, FixedPcdGet32(PcdCPUCorePrimaryStackSize))
>    sub   x22, x1, x2
>  
> -  // Stack for the secondary core = Number of Cores - 1
> -  MOV32 (x1, (FixedPcdGet32(PcdCoreCount) - 1) * FixedPcdGet32(PcdCPUCoreSecondaryStackSize))
> -  sub   x22, x22, x1
> -
> -  // x22 = The base of the MpCore Stacks (primary stack & secondary stacks)
> -  mov   x0, x22
> -  mov   x1, x20
> -  //ArmPlatformStackSet(StackBase, MpId, PrimaryStackSize, SecondaryStackSize)
> -  MOV32 (x2, FixedPcdGet32(PcdCPUCorePrimaryStackSize))
> -  MOV32 (x3, FixedPcdGet32(PcdCPUCoreSecondaryStackSize))
> -  bl    ASM_PFX(ArmPlatformStackSet)
> -
>    mov   x0, x20
>    mov   x1, x21
>    mov   x2, x22
> diff --git a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
> index a918c191432e..ced08593e9de 100644
> --- a/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
> +++ b/ArmVirtPkg/PrePi/Arm/ModuleEntryPoint.S
> @@ -120,22 +120,12 @@ _GetBaseUefiMemory:
>  
>  _GetStackBase:
>    // r1 = The top of the Mpcore Stacks
> +  mov   sp, r1
> +
>    // Stack for the primary core = PrimaryCoreStack
>    MOV32 (r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize))
>    sub   r9, r1, r2
>  
> -  // Stack for the secondary core = Number of Cores - 1
> -  MOV32 (r1, (FixedPcdGet32(PcdCoreCount) - 1) * FixedPcdGet32(PcdCPUCoreSecondaryStackSize))
> -  sub   r9, r9, r1
> -
> -  // r9 = The base of the MpCore Stacks (primary stack & secondary stacks)
> -  mov   r0, r9
> -  mov   r1, r10
> -  //ArmPlatformStackSet(StackBase, MpId, PrimaryStackSize, SecondaryStackSize)
> -  MOV32 (r2, FixedPcdGet32(PcdCPUCorePrimaryStackSize))
> -  MOV32 (r3, FixedPcdGet32(PcdCPUCoreSecondaryStackSize))
> -  bl    ASM_PFX(ArmPlatformStackSet)
> -
>    mov   r0, r10
>    mov   r1, r11
>    mov   r2, r9
> diff --git a/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf b/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
> index e816e9583da8..ae9a088c7256 100755
> --- a/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
> +++ b/ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf
> @@ -54,7 +54,6 @@ [LibraryClasses]
>    LzmaDecompressLib
>    PeCoffGetEntryPointLib
>    PrePiLib
> -  ArmPlatformStackLib
>    MemoryAllocationLib
>    HobLib
>    PrePiHobListPointerLib
> 



  reply	other threads:[~2017-11-21 15:47 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-17 16:08 [PATCH 00/15] ArmVirtPkg: get rid of ArmPlatformLib Ard Biesheuvel
2017-11-17 16:08 ` [PATCH 01/15] ArmPlatformPkg/ArmPlatformLibNull: remove bogus PCD dependencies Ard Biesheuvel
2017-11-17 16:20   ` Leif Lindholm
2017-11-17 16:23     ` Ard Biesheuvel
2017-11-17 16:28       ` Leif Lindholm
2017-11-17 19:10         ` Ard Biesheuvel
2017-11-17 16:09 ` [PATCH 02/15] ArmVirtPkg/PrePi: run all library constructors by hand Ard Biesheuvel
2017-11-21 15:32   ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 03/15] ArmVirtPkg/PrePi: remove unused GetPlatformPpi() function Ard Biesheuvel
2017-11-21 15:36   ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 04/15] ArmVirtPkg/PrePi: remove bogus primary core check Ard Biesheuvel
2017-11-21 15:40   ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 05/15] ArmVirtPkg/PrePi: remove dependency on ArmPlatformLib Ard Biesheuvel
2017-11-21 15:46   ` Laszlo Ersek
2017-11-21 15:47     ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 06/15] ArmVirtPkg/PrePi: move DRAM discovery code into PrePi Ard Biesheuvel
2017-11-21 15:48   ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 07/15] ArmVirtPkg/PrePi: remove ArmPlatformStackLib dependency Ard Biesheuvel
2017-11-21 15:51   ` Laszlo Ersek [this message]
2017-11-17 16:09 ` [PATCH 08/15] ArmVirtPkg/PrePi: remove bogus IntelFrameworkModulePkg.dec dependency Ard Biesheuvel
2017-11-21 15:52   ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 09/15] ArmVirtPkg/ArmVirtPlatformLib: remove support for uncached mappings Ard Biesheuvel
2017-11-21 16:15   ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 10/15] ArmVirtPkg: introduce ArmVirtMemInfoLib library class Ard Biesheuvel
2017-11-21 16:23   ` Laszlo Ersek
2017-11-21 16:27     ` Laszlo Ersek
2017-11-21 16:32       ` Ard Biesheuvel
2017-11-17 16:09 ` [PATCH 11/15] ArmVirtPkg/ArmVirtXen: add ArmVirtMemInfoLib implementation Ard Biesheuvel
2017-11-21 16:30   ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 12/15] ArmVirtPkg/ArmVirtQemu: " Ard Biesheuvel
2017-11-21 16:47   ` Ard Biesheuvel
2017-11-21 16:56   ` Laszlo Ersek
2017-11-21 17:11     ` Ard Biesheuvel
2017-11-17 16:09 ` [PATCH 13/15] ArmVirtPkg: implement ArmVirtMemInfo PPI, PEIM and library Ard Biesheuvel
2017-11-21 17:49   ` Laszlo Ersek
2017-11-21 17:57     ` Ard Biesheuvel
2017-11-21 20:17       ` Laszlo Ersek
2017-11-21 20:32         ` Ard Biesheuvel
2017-11-22  8:45           ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 14/15] ArmVirtPkg/ArmVirtMemoryInitPeiLib: move to ArmVirtMemInfoLib Ard Biesheuvel
2017-11-21 17:51   ` Laszlo Ersek
2017-11-17 16:09 ` [PATCH 15/15] ArmVirtPkg: remove ArmPlatformLib implementations Ard Biesheuvel
2017-11-21 17:52   ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f923bf57-d2ad-3d56-4881-533d6ffb8680@redhat.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox