From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by mx.groups.io with SMTP id smtpd.web12.2357.1626746461170587564 for ; Mon, 19 Jul 2021 19:01:02 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: byosoft.com.cn, ip: 58.240.74.242, mailfrom: gaoliming@byosoft.com.cn) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Tue, 20 Jul 2021 10:00:53 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , , "'Etienne Carriere'" Cc: "'Achin Gupta'" , "'Ard Biesheuvel'" , "'Jiewen Yao'" , "'Leif Lindholm'" , "'Sughosh Ganu'" , References: <20210519071421.16387-1-etienne.carriere@linaro.org> <20210519071421.16387-5-etienne.carriere@linaro.org> <1eac1393-0845-5126-2093-960017dc47f6@arm.com> In-Reply-To: <1eac1393-0845-5126-2093-960017dc47f6@arm.com> Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIHY0IDUvNV0gU3RhbmRhbG9uZU1tUGtnOiBidWlsZCBmb3IgMzJiaXQgYXJtIG1hY2hpbmVz?= Date: Tue, 20 Jul 2021 10:00:54 +0800 Message-ID: <004001d77d0b$12d8f680$388ae380$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQIt+ncp8rh7wTwZFWm1TtKRmnAGlALpIro9Ah7PCmqqdeFyoA== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Hi, all This patch set has passed code review. How about merge it for this stabl= e tag edk2 202108? Thanks Liming > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io = =E4=BB=A3=E8=A1=A8 Sami > Mujawar > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B45=E6=9C=8819=E6=97=A5= 17:58 > =E6=94=B6=E4=BB=B6=E4=BA=BA: Etienne Carriere ; > devel@edk2.groups.io > =E6=8A=84=E9=80=81: Achin Gupta ; Ard Biesheuvel > ; Jiewen Yao ; Leif > Lindholm ; Sughosh Ganu ; > nd@arm.com > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: bui= ld for 32bit arm > machines >=20 > Hi Etienn, >=20 > This patch looks good to me. >=20 > Reviewed-by: Sami Mujawar >=20 > Regards, >=20 > Sami Mujawar >=20 > On 19/05/2021 08:14 AM, Etienne Carriere wrote: > > This change allows to build StandaloneMmPkg components for 32bit Arm > > StandaloneMm firmware. > > > > This change mainly moves AArch64/ source files to Arm/ side directory > > for several components: StandaloneMmCpu, > StandaloneMmCoreEntryPoint > > and StandaloneMmMemLib. The source file is built for both 32b and 64b > > Arm targets. > > > > Signed-off-by: Etienne Carriere > > --- > > Changes since v3: > > - Fix BuildOptions.ARM in StandaloneMmPkg. > > - Remove Cc tags. > > > > No change since v2 > > > > Changes since v1: > > - ARM_SMC_ID_MM_COMMUNICATE 32b/64b agnostic helper ID is > defined > > in ArmStdSmc.h (see 1st commit in this series) instead of being > > local to EventHandle.c. > > - Fix void occurrence to VOID. > > - Fix path in StandaloneMmPkg/StandaloneMmPkg.dsc > > --- > > StandaloneMmPkg/Core/StandaloneMmCore.inf > | 2 +- > > StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64 > =3D> }/EventHandle.c > | 5 +++-- > > StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64 > =3D> }/StandaloneMmCpu.c > | 2 +- > > StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64 > =3D> }/StandaloneMmCpu.h > | 0 > > StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64 > =3D> }/StandaloneMmCpu.inf > | 0 > > StandaloneMmPkg/Include/Library/{AArch64 =3D> > Arm}/StandaloneMmCoreEntryPoint.h > | 0 > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64 =3D> > Arm}/CreateHobList.c | 2 +- > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64 =3D> > Arm}/SetPermissions.c | 2 +- > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64 =3D> > Arm}/StandaloneMmCoreEntryPoint.c | 16 > ++++++++-------- > > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCor > eEntryPoint.inf | 14 > +++++++------- > > StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{AArch64 =3D> > Arm}/StandaloneMmCoreHobLib.c | 0 > > StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{AArch64 =3D> > Arm}/StandaloneMmCoreHobLibInternal.c | 0 > > > StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreH > obLib.inf | 8 ++++---- > > > StandaloneMmPkg/Library/StandaloneMmMemLib/{AArch64/StandaloneMm > MemLibInternal.c =3D> ArmStandaloneMmMemLibInternal.c} | 9 ++++++++- > > > StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.i > nf | 6 > +++--- > > > StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependenc > y.inf | 2 +- > > StandaloneMmPkg/StandaloneMmPkg.dsc > | 12 ++++++++---- > > 17 files changed, 46 insertions(+), 34 deletions(-) > > > > diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.inf > b/StandaloneMmPkg/Core/StandaloneMmCore.inf > > index 87bf6e9440..56042b7b39 100644 > > --- a/StandaloneMmPkg/Core/StandaloneMmCore.inf > > +++ b/StandaloneMmPkg/Core/StandaloneMmCore.inf > > @@ -17,7 +17,7 @@ > > PI_SPECIFICATION_VERSION =3D 0x00010032 > > ENTRY_POINT =3D StandaloneMmMain > > > > -# VALID_ARCHITECTURES =3D IA32 X64 AARCH64 > > +# VALID_ARCHITECTURES =3D IA32 X64 AARCH64 ARM > > > > [Sources] > > StandaloneMmCore.c > > diff --git > a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.c > > similarity index 95% > > rename from > StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c > > rename to StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.c > > index 63fbe26642..165d696f99 100644 > > --- > a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c > > +++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.c > > @@ -2,6 +2,7 @@ > > > > Copyright (c) 2016 HP Development Company, L.P. > > Copyright (c) 2016 - 2021, Arm Limited. All rights reserved. > > + Copyright (c) 2021, Linaro Limited > > > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > @@ -92,8 +93,8 @@ PiMmStandaloneArmTfCpuDriverEntry ( > > // receipt of a synchronous MM request. Use the Event ID to > distinguish > > // between synchronous and asynchronous events. > > // > > - if ((ARM_SMC_ID_MM_COMMUNICATE_AARCH64 !=3D EventId) && > > - (ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64 !=3D > EventId)) { > > + if ((ARM_SMC_ID_MM_COMMUNICATE !=3D EventId) && > > + (ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ !=3D EventId)) { > > DEBUG ((DEBUG_INFO, "UnRecognized Event - 0x%x\n", EventId)); > > return EFI_INVALID_PARAMETER; > > } > > diff --git > a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp > u.c b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.c > > similarity index 96% > > rename from > StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu. > c > > rename to > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.c > > index d4590bcd19..10097f792f 100644 > > --- > a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp > u.c > > +++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.c > > @@ -10,7 +10,7 @@ > > > > #include > > #include > > -#include > > +#include > > #include > > #include > > #include > > diff --git > a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp > u.h b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.h > > similarity index 100% > > rename from > StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu. > h > > rename to > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.h > > diff --git > a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp > u.inf b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf > > similarity index 100% > > rename from > StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.i > nf > > rename to > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf > > diff --git > a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoin > t.h > b/StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h > > similarity index 100% > > rename from > StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h > > rename to > StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Create > HobList.c > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHob > List.c > > similarity index 97% > > rename from > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHo > bList.c > > rename to > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobLis > t.c > > index 4d4cf3d5ff..85f8194687 100644 > > --- > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Create > HobList.c > > +++ > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHob > List.c > > @@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #include > > #include > > > > -#include > > +#include > > #include > > #include > > #include > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPer > missions.c > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissi > ons.c > > similarity index 96% > > rename from > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermi > ssions.c > > rename to > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissio > ns.c > > index 4a380df4a6..cd4b90823e 100644 > > --- > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPer > missions.c > > +++ > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissi > ons.c > > @@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > #include > > #include > > > > -#include > > +#include > > #include > > #include > > #include > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standa > loneMmCoreEntryPoint.c > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/Standalone > MmCoreEntryPoint.c > > similarity index 94% > > rename from > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standalo > neMmCoreEntryPoint.c > > rename to > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneM > mCoreEntryPoint.c > > index b445d6942e..49cf51a789 100644 > > --- > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standa > loneMmCoreEntryPoint.c > > +++ > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/Standalone > MmCoreEntryPoint.c > > @@ -10,7 +10,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > > > > #include > > > > -#include > > +#include > > > > #include > > #include > > @@ -182,13 +182,13 @@ DelegatedEventLoop ( > > } > > > > if (FfaEnabled) { > > - EventCompleteSvcArgs->Arg0 =3D > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64; > > + EventCompleteSvcArgs->Arg0 =3D > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP; > > EventCompleteSvcArgs->Arg1 =3D 0; > > EventCompleteSvcArgs->Arg2 =3D 0; > > - EventCompleteSvcArgs->Arg3 =3D > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64; > > + EventCompleteSvcArgs->Arg3 =3D > ARM_SVC_ID_SP_EVENT_COMPLETE; > > EventCompleteSvcArgs->Arg4 =3D SvcStatus; > > } else { > > - EventCompleteSvcArgs->Arg0 =3D > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64; > > + EventCompleteSvcArgs->Arg0 =3D > ARM_SVC_ID_SP_EVENT_COMPLETE; > > EventCompleteSvcArgs->Arg1 =3D SvcStatus; > > } > > } > > @@ -273,13 +273,13 @@ InitArmSvcArgs ( > > ) > > { > > if (FeaturePcdGet (PcdFfaEnable)) { > > - InitMmFoundationSvcArgs->Arg0 =3D > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64; > > + InitMmFoundationSvcArgs->Arg0 =3D > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP; > > InitMmFoundationSvcArgs->Arg1 =3D 0; > > InitMmFoundationSvcArgs->Arg2 =3D 0; > > - InitMmFoundationSvcArgs->Arg3 =3D > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64; > > + InitMmFoundationSvcArgs->Arg3 =3D > ARM_SVC_ID_SP_EVENT_COMPLETE; > > InitMmFoundationSvcArgs->Arg4 =3D *Ret; > > } else { > > - InitMmFoundationSvcArgs->Arg0 =3D > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64; > > + InitMmFoundationSvcArgs->Arg0 =3D > ARM_SVC_ID_SP_EVENT_COMPLETE; > > InitMmFoundationSvcArgs->Arg1 =3D *Ret; > > } > > } > > @@ -395,7 +395,7 @@ _ModuleEntryPoint ( > > // > > ProcessModuleEntryPointList (HobStart); > > > > - DEBUG ((DEBUG_INFO, "Shared Cpu Driver EP 0x%lx\n", (UINT64) > CpuDriverEntryPoint)); > > + DEBUG ((DEBUG_INFO, "Shared Cpu Driver EP %p\n", (VOID *) > CpuDriverEntryPoint)); > > > > finish: > > if (Status =3D=3D RETURN_UNSUPPORTED) { > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm > CoreEntryPoint.inf > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm > CoreEntryPoint.inf > > index 4fa426f58e..1762586cfa 100644 > > --- > a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm > CoreEntryPoint.inf > > +++ > b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm > CoreEntryPoint.inf > > @@ -21,10 +21,10 @@ > > # VALID_ARCHITECTURES =3D IA32 X64 IPF EBC (EBC is for > build only) > > # > > > > -[Sources.AARCH64] > > - AArch64/StandaloneMmCoreEntryPoint.c > > - AArch64/SetPermissions.c > > - AArch64/CreateHobList.c > > +[Sources.AARCH64, Sources.ARM] > > + Arm/StandaloneMmCoreEntryPoint.c > > + Arm/SetPermissions.c > > + Arm/CreateHobList.c > > > > [Sources.X64] > > X64/StandaloneMmCoreEntryPoint.c > > @@ -34,14 +34,14 @@ > > MdeModulePkg/MdeModulePkg.dec > > StandaloneMmPkg/StandaloneMmPkg.dec > > > > -[Packages.AARCH64] > > +[Packages.ARM, Packages.AARCH64] > > ArmPkg/ArmPkg.dec > > > > [LibraryClasses] > > BaseLib > > DebugLib > > > > -[LibraryClasses.AARCH64] > > +[LibraryClasses.ARM, LibraryClasses.AARCH64] > > StandaloneMmMmuLib > > ArmSvcLib > > > > @@ -51,7 +51,7 @@ > > gEfiStandaloneMmNonSecureBufferGuid > > gEfiArmTfCpuDriverEpDescriptorGuid > > > > -[FeaturePcd.AARCH64] > > +[FeaturePcd.ARM, FeaturePcd.AARCH64] > > gArmTokenSpaceGuid.PcdFfaEnable > > > > [BuildOptions] > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalon > eMmCoreHobLib.c > b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneM > mCoreHobLib.c > > similarity index 100% > > rename from > StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalone > MmCoreHobLib.c > > rename to > StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmC > oreHobLib.c > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalon > eMmCoreHobLibInternal.c > b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneM > mCoreHobLibInternal.c > > similarity index 100% > > rename from > StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalone > MmCoreHobLibInternal.c > > rename to > StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmC > oreHobLibInternal.c > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore > HobLib.inf > b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore > HobLib.inf > > index a2559920e8..34ed536480 100644 > > --- > a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore > HobLib.inf > > +++ > b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore > HobLib.inf > > @@ -22,7 +22,7 @@ > > LIBRARY_CLASS =3D > HobLib|MM_CORE_STANDALONE > > > > # > > -# VALID_ARCHITECTURES =3D X64 AARCH64 > > +# VALID_ARCHITECTURES =3D X64 AARCH64 ARM > > # > > [Sources.common] > > Common.c > > @@ -30,9 +30,9 @@ > > [Sources.X64] > > X64/StandaloneMmCoreHobLib.c > > > > -[Sources.AARCH64] > > - AArch64/StandaloneMmCoreHobLib.c > > - AArch64/StandaloneMmCoreHobLibInternal.c > > +[Sources.AARCH64, Sources.ARM] > > + Arm/StandaloneMmCoreHobLib.c > > + Arm/StandaloneMmCoreHobLibInternal.c > > > > [Packages] > > MdePkg/MdePkg.dec > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneM > mMemLibInternal.c > b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMe > mLibInternal.c > > similarity index 86% > > rename from > StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneMm > MemLibInternal.c > > rename to > StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemL > ibInternal.c > > index 4124959e04..fa7df46413 100644 > > --- > a/StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneM > mMemLibInternal.c > > +++ > b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMe > mLibInternal.c > > @@ -20,6 +20,13 @@ > > // > > extern EFI_PHYSICAL_ADDRESS > mMmMemLibInternalMaximumSupportAddress; > > > > +#ifdef MDE_CPU_AARCH64 > > +#define ARM_PHYSICAL_ADDRESS_BITS 36 > > +#endif > > +#ifdef MDE_CPU_ARM > > +#define ARM_PHYSICAL_ADDRESS_BITS 32 > > +#endif > > + > > /** > > Calculate and save the maximum support address. > > > > @@ -31,7 +38,7 @@ > MmMemLibInternalCalculateMaximumSupportAddress ( > > { > > UINT8 PhysicalAddressBits; > > > > - PhysicalAddressBits =3D 36; > > + PhysicalAddressBits =3D ARM_PHYSICAL_ADDRESS_BITS; > > > > // > > // Save the maximum support address in one global variable > > diff --git > a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib > .inf > b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib > .inf > > index 062b0d7a11..b29d97a746 100644 > > --- > a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib > .inf > > +++ > b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib > .inf > > @@ -28,7 +28,7 @@ > > # > > # The following information is for reference only and not required b= y the > build tools. > > # > > -# VALID_ARCHITECTURES =3D IA32 X64 AARCH64 > > +# VALID_ARCHITECTURES =3D IA32 X64 AARCH64 ARM > > # > > > > [Sources.Common] > > @@ -37,8 +37,8 @@ > > [Sources.IA32, Sources.X64] > > X86StandaloneMmMemLibInternal.c > > > > -[Sources.AARCH64] > > - AArch64/StandaloneMmMemLibInternal.c > > +[Sources.AARCH64, Sources.ARM] > > + ArmStandaloneMmMemLibInternal.c > > > > [Packages] > > MdePkg/MdePkg.dec > > diff --git > a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende > ncy.inf > b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende > ncy.inf > > index a2a059c5d6..ffb2a6d083 100644 > > --- > a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende > ncy.inf > > +++ > b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende > ncy.inf > > @@ -20,7 +20,7 @@ > > # > > # The following information is for reference only and not required b= y the > build tools. > > # > > -# VALID_ARCHITECTURES =3D AARCH64 > > +# VALID_ARCHITECTURES =3D AARCH64|ARM > > # > > # > > > > diff --git a/StandaloneMmPkg/StandaloneMmPkg.dsc > b/StandaloneMmPkg/StandaloneMmPkg.dsc > > index 0c45df95e2..8012f93b7d 100644 > > --- a/StandaloneMmPkg/StandaloneMmPkg.dsc > > +++ b/StandaloneMmPkg/StandaloneMmPkg.dsc > > @@ -20,7 +20,7 @@ > > PLATFORM_VERSION =3D 1.0 > > DSC_SPECIFICATION =3D 0x00010011 > > OUTPUT_DIRECTORY =3D Build/StandaloneMm > > - SUPPORTED_ARCHITECTURES =3D AARCH64|X64 > > + SUPPORTED_ARCHITECTURES =3D AARCH64|X64|ARM > > BUILD_TARGETS =3D DEBUG|RELEASE > > SKUID_IDENTIFIER =3D DEFAULT > > > > @@ -60,7 +60,7 @@ > > > StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryP > oint/StandaloneMmDriverEntryPoint.inf > > > VariableMmDependency|StandaloneMmPkg/Library/VariableMmDependenc > y/VariableMmDependency.inf > > > > -[LibraryClasses.AARCH64] > > +[LibraryClasses.AARCH64, LibraryClasses.ARM] > > ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf > > > StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuSt > andaloneMmLib.inf > > ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf > > @@ -118,8 +118,8 @@ > > > StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/Standalone > MmMemoryAllocationLib.inf > > > StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependenc > y.inf > > > > -[Components.AARCH64] > > - > StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.i > nf > > +[Components.AARCH64, Components.ARM] > > + StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf > > > StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/Standalone > MmPeCoffExtraActionLib.inf > > > > > ############################################################## > ##################################### > > @@ -135,6 +135,10 @@ > > GCC:*_*_*_DLINK_FLAGS =3D -z common-page-size=3D0x1000 > -march=3Darmv8-a+nofp -mstrict-align > > GCC:*_*_*_CC_FLAGS =3D -mstrict-align > > > > +[BuildOptions.ARM] > > +GCC:*_*_*_DLINK_FLAGS =3D -z common-page-size=3D0x1000 > -march=3Darmv7-a > > +GCC:*_*_*_CC_FLAGS =3D -fno-stack-protector > > + > > [BuildOptions.X64] > > MSFT:*_*_*_DLINK_FLAGS =3D /ALIGN:4096 > > GCC:*_GCC*_*_DLINK_FLAGS =3D -z common-page-size=3D0x1000 >=20 >=20 >=20 >=20 >=20