From: "Ard Biesheuvel" <ardb@kernel.org>
To: edk2-devel-groups-io <devel@edk2.groups.io>,
"Liming Gao (Byosoft address)" <gaoliming@byosoft.com.cn>
Cc: Etienne Carriere <etienne.carriere@linaro.org>,
Sami Mujawar <sami.mujawar@arm.com>,
Achin Gupta <achin.gupta@arm.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Jiewen Yao <jiewen.yao@intel.com>,
Leif Lindholm <leif@nuviainc.com>,
Sughosh Ganu <sughosh.ganu@linaro.org>
Subject: Re: [edk2-devel] 回复: [PATCH v5 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg
Date: Wed, 11 Aug 2021 12:46:41 +0200 [thread overview]
Message-ID: <CAMj1kXGtzPS2kd4CPMmM8Y9JKgAf0s+QTk6gwHJXhSx7=xYe3g@mail.gmail.com> (raw)
In-Reply-To: <005401d78e53$77bc0700$67341500$@byosoft.com.cn>
On Wed, 11 Aug 2021 at 03:52, gaoliming <gaoliming@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.
--
Ard.
> > -----邮件原件-----
> > 发件人: Etienne Carriere <etienne.carriere@linaro.org>
> > 发送时间: 2021年8月9日 23:20
> > 收件人: devel@edk2.groups.io
> > 抄送: Achin Gupta <achin.gupta@arm.com>; Ard Biesheuvel
> > <ardb+tianocore@kernel.org>; Jiewen Yao <jiewen.yao@intel.com>; Leif
> > Lindholm <leif@nuviainc.com>; Sami Mujawar <sami.mujawar@arm.com>;
> > Sughosh Ganu <sughosh.ganu@linaro.org>; Liming Gao
> > <gaoliming@byosoft.com.cn>; Etienne Carriere <etienne.carriere@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@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
>
>
>
>
>
>
>
>
next prev parent reply other threads:[~2021-08-11 10:46 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-09 15:19 [PATCH v5 1/5] ArmPkg/IndustryStandard: 32b/64b agnostic FF-A, Mm SVC and Std SMC IDs Etienne Carriere
2021-08-09 15:19 ` [PATCH v5 2/5] ArmPkg: prepare 32bit ARM build of StandaloneMmPkg Etienne Carriere
2021-08-11 1:51 ` 回复: " gaoliming
2021-08-11 10:46 ` Ard Biesheuvel [this message]
2021-08-11 11:37 ` [edk2-devel] " Ard Biesheuvel
2021-08-11 12:12 ` Etienne Carriere
2021-08-11 12:21 ` Ard Biesheuvel
2021-08-09 15:19 ` [PATCH v5 3/5] GenFv: Arm: support images entered in Thumb mode Etienne Carriere
2021-08-09 15:19 ` [PATCH v5 4/5] StandaloneMmPkg: fix pointer/int casts against 32bit architectures Etienne Carriere
2021-08-09 15:19 ` [PATCH v5 5/5] StandaloneMmPkg: build for 32bit arm machines Etienne Carriere
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='CAMj1kXGtzPS2kd4CPMmM8Y9JKgAf0s+QTk6gwHJXhSx7=xYe3g@mail.gmail.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