On Wed, 11 Aug 2021 at 12:46, Ard Biesheuvel <a...@kernel.org> wrote: > > On Wed, 11 Aug 2021 at 03:52, gaoliming <gaolim...@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.carri...@linaro.org> > > > 发送时间: 2021年8月9日 23:20 > > > 收件人: devel@edk2.groups.io > > > 抄送: Achin Gupta <achin.gu...@arm.com>; Ard Biesheuvel > > > <ardb+tianoc...@kernel.org>; Jiewen Yao <jiewen....@intel.com>; Leif > > > Lindholm <l...@nuviainc.com>; Sami Mujawar <sami.muja...@arm.com>; > > > Sughosh Ganu <sughosh.g...@linaro.org>; Liming Gao > > > <gaolim...@byosoft.com.cn>; Etienne Carriere <etienne.carri...@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.carri...@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 (#79105): https://edk2.groups.io/g/devel/message/79105 Mute This Topic: https://groups.io/mt/84808322/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-