Re: [edk2-devel] 回复: [PATCH v5 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg

Etienne Carriere etienne.carriere at linaro.org
Wed Aug 11 12:12:14 UTC 2021


Many thanks to all for the help and patience.

Etienne

On Wed, 11 Aug 2021 at 13:37, Ard Biesheuvel <ardb at kernel.org> wrote:
>
> On Wed, 11 Aug 2021 at 12:46, Ard Biesheuvel <ardb at kernel.org> wrote:
> >
> > On Wed, 11 Aug 2021 at 03:52, gaoliming <gaoliming at byosoft.com.cn> wrote:
> > >
> > > Etienne:
> > >   Thanks for your update. This version should pass CI.
> > >
> > > Sami:
> > >   Can you help review the updated patch? So, it can still catch this stable
> > > tag.
> > >
> >
> > I will go ahead and review/submit it if you are ok with that.
> >
>
> Merged as #1894
>
> Thanks all
>
> >
> > > > -----邮件原件-----
> > > > 发件人: Etienne Carriere <etienne.carriere at linaro.org>
> > > > 发送时间: 2021年8月9日 23:20
> > > > 收件人: devel at edk2.groups.io
> > > > 抄送: Achin Gupta <achin.gupta at arm.com>; Ard Biesheuvel
> > > > <ardb+tianocore at kernel.org>; Jiewen Yao <jiewen.yao at intel.com>; Leif
> > > > Lindholm <leif at nuviainc.com>; Sami Mujawar <sami.mujawar at arm.com>;
> > > > Sughosh Ganu <sughosh.ganu at linaro.org>; Liming Gao
> > > > <gaoliming at byosoft.com.cn>; Etienne Carriere <etienne.carriere at linaro.org>
> > > > 主题: [PATCH v5 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg
> > > >
> > > > Changes in ArmPkg to prepare building StandaloneMm firmware for
> > > > 32bit Arm architectures.
> > > >
> > > > Adds ArmmmuStandaloneMmLib library to the list of the standard
> > > > components build for ArmPkg on when ARM architectures.
> > > >
> > > > Changes path of source file AArch64/ArmMmuStandaloneMmLib.c
> > > > and compile it for both 32bit and 64bit architectures.
> > > >
> > > > Signed-off-by: Etienne Carriere <etienne.carriere at linaro.org>
> > > > ---
> > > > Changes since v4:
> > > > - Remove changes related to MmCommunicationDxe and ArmMmuPeiLib
> > > > since
> > > >   they currently don't need to be built for ARM targets.
> > > > - Remove review tags applied to patch v3.
> > > >
> > > > Changes since v3:
> > > > - Remove Cc tags and apply review tag.
> > > >
> > > > No change since v2
> > > > No change since v1
> > > > ---
> > > >  ArmPkg/ArmPkg.dec
> > > > |  2 +-
> > > >  ArmPkg/ArmPkg.dsc
> > > > |  2 ++
> > > >  ArmPkg/Library/StandaloneMmMmuLib/{AArch64
> > > > => }/ArmMmuStandaloneMmLib.c | 15 ++++++++-------
> > > >  ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> > > > |  6 +++---
> > > >  4 files changed, 14 insertions(+), 11 deletions(-)
> > > >
> > > > diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec
> > > > index 214b2f5892..6ed51edd03 100644
> > > > --- a/ArmPkg/ArmPkg.dec
> > > > +++ b/ArmPkg/ArmPkg.dec
> > > > @@ -137,7 +137,7 @@
> > > >    # hardware coherency (i.e., no virtualization or cache coherent DMA)
> > > >
> > > > gArmTokenSpaceGuid.PcdNormalMemoryNonshareableOverride|FALSE|BOO
> > > > LEAN|0x00000043
> > > >
> > > > -[PcdsFeatureFlag.AARCH64]
> > > > +[PcdsFeatureFlag.AARCH64, PcdsFeatureFlag.ARM]
> > > >    ## Used to select method for requesting services from S-EL1.<BR><BR>
> > > >    #   TRUE  - Selects FF-A calls for communication between S-EL0 and
> > > > SPMC.<BR>
> > > >    #   FALSE - Selects SVC calls for communication between S-EL0 and
> > > > SPMC.<BR>
> > > > diff --git a/ArmPkg/ArmPkg.dsc b/ArmPkg/ArmPkg.dsc
> > > > index 926986cf7f..8abe3713c8 100644
> > > > --- a/ArmPkg/ArmPkg.dsc
> > > > +++ b/ArmPkg/ArmPkg.dsc
> > > > @@ -161,4 +161,6 @@
> > > >  [Components.AARCH64]
> > > >    ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.inf
> > > >    ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf
> > > > +
> > > > +[Components.AARCH64, Components.ARM]
> > > >    ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> > > > diff --git
> > > > a/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMm
> > > > Lib.c b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c
> > > > similarity index 92%
> > > > rename from
> > > > ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMmLib
> > > > .c
> > > > rename to
> > > > ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c
> > > > index dd014beec8..20f873e680 100644
> > > > ---
> > > > a/ArmPkg/Library/StandaloneMmMmuLib/AArch64/ArmMmuStandaloneMm
> > > > Lib.c
> > > > +++ b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c
> > > > @@ -2,6 +2,7 @@
> > > >    File managing the MMU for ARMv8 architecture in S-EL0
> > > >
> > > >    Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.<BR>
> > > > +  Copyright (c) 2021, Linaro Limited
> > > >    SPDX-License-Identifier: BSD-2-Clause-Patent
> > > >
> > > >    @par Reference(s):
> > > > @@ -62,7 +63,7 @@ SendMemoryPermissionRequest (
> > > >      // for other Direct Request calls which are not atomic
> > > >      // We therefore check only for Direct Response by the
> > > >      // callee.
> > > > -    if (SvcArgs->Arg0 ==
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64) {
> > > > +    if (SvcArgs->Arg0 == ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP) {
> > > >        // A Direct Response means FF-A success
> > > >        // Now check the payload for errors
> > > >        // The callee sends back the return value
> > > > @@ -164,13 +165,13 @@ GetMemoryPermissions (
> > > >    ZeroMem (&SvcArgs, sizeof (ARM_SVC_ARGS));
> > > >    if (FeaturePcdGet (PcdFfaEnable)) {
> > > >      // See [2], Section 10.2 FFA_MSG_SEND_DIRECT_REQ.
> > > > -    SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64;
> > > > +    SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ;
> > > >      SvcArgs.Arg1 = ARM_FFA_DESTINATION_ENDPOINT_ID;
> > > >      SvcArgs.Arg2 = 0;
> > > > -    SvcArgs.Arg3 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64;
> > > > +    SvcArgs.Arg3 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES;
> > > >      SvcArgs.Arg4 = BaseAddress;
> > > >    } else {
> > > > -    SvcArgs.Arg0 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES_AARCH64;
> > > > +    SvcArgs.Arg0 = ARM_SVC_ID_SP_GET_MEM_ATTRIBUTES;
> > > >      SvcArgs.Arg1 = BaseAddress;
> > > >      SvcArgs.Arg2 = 0;
> > > >      SvcArgs.Arg3 = 0;
> > > > @@ -219,15 +220,15 @@ RequestMemoryPermissionChange (
> > > >    ZeroMem (&SvcArgs, sizeof (ARM_SVC_ARGS));
> > > >    if (FeaturePcdGet (PcdFfaEnable)) {
> > > >      // See [2], Section 10.2 FFA_MSG_SEND_DIRECT_REQ.
> > > > -    SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64;
> > > > +    SvcArgs.Arg0 = ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ;
> > > >      SvcArgs.Arg1 = ARM_FFA_DESTINATION_ENDPOINT_ID;
> > > >      SvcArgs.Arg2 = 0;
> > > > -    SvcArgs.Arg3 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64;
> > > > +    SvcArgs.Arg3 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES;
> > > >      SvcArgs.Arg4 = BaseAddress;
> > > >      SvcArgs.Arg5 = EFI_SIZE_TO_PAGES (Length);
> > > >      SvcArgs.Arg6 = Permissions;
> > > >    } else {
> > > > -    SvcArgs.Arg0 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES_AARCH64;
> > > > +    SvcArgs.Arg0 = ARM_SVC_ID_SP_SET_MEM_ATTRIBUTES;
> > > >      SvcArgs.Arg1 = BaseAddress;
> > > >      SvcArgs.Arg2 = EFI_SIZE_TO_PAGES (Length);
> > > >      SvcArgs.Arg3 = Permissions;
> > > > diff --git
> > > > a/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> > > > b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> > > > index 6c71fe0023..ff20e58980 100644
> > > > --- a/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> > > > +++
> > > > b/ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
> > > > @@ -16,14 +16,14 @@
> > > >    LIBRARY_CLASS                  = StandaloneMmMmuLib
> > > >    PI_SPECIFICATION_VERSION       = 0x00010032
> > > >
> > > > -[Sources.AARCH64]
> > > > -  AArch64/ArmMmuStandaloneMmLib.c
> > > > +[Sources]
> > > > +  ArmMmuStandaloneMmLib.c
> > > >
> > > >  [Packages]
> > > >    ArmPkg/ArmPkg.dec
> > > >    MdePkg/MdePkg.dec
> > > >
> > > > -[FeaturePcd.AARCH64]
> > > > +[FeaturePcd.ARM, FeaturePcd.AARCH64]
> > > >    gArmTokenSpaceGuid.PcdFfaEnable
> > > >
> > > >  [LibraryClasses]
> > > > --
> > > > 2.17.1
> > >
> > >
> > >
> > >
> > >
> > > 
> > >
> > >


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79110): https://edk2.groups.io/g/devel/message/79110
Mute This Topic: https://groups.io/mt/84808322/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list