From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by mx.groups.io with SMTP id smtpd.web12.1597.1627455139983743005 for ; Tue, 27 Jul 2021 23:52:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=tfBCr/Wd; spf=pass (domain: kernel.org, ip: 198.145.29.99, mailfrom: ardb@kernel.org) Received: by mail.kernel.org (Postfix) with ESMTPSA id 25A2B60FC4 for ; Wed, 28 Jul 2021 06:52:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1627455139; bh=ABDTqp54KFBUQAFYNHpmOg6/QrPUcG9gXdvTxE3Lqn4=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=tfBCr/WdMSnyMgooMxbuOs1dEG6eqmTGzRc5E2/FDLdOovD3vQ/fGt7wucggg8UEF HzfNfnUHDSyO+mYOfohBIlJyUIV9YI3eno4f3z5U27XWQWShIpZPmkZPIAcSDHOyrV r8ZD6BCJ+t9acS1FSR+f0/6evhzCopIW/Tb4AXfyFFCPtJng7b+LFz5itaGtBFruvd M1u4BkNTkfY+vJLlzFFt3g0XZY2ne0M51V9OH3uc/YYKAKhTFOqMbqf1zjtl+/Y+ae EqeT2aDWMt7oLfWAZ+yMmW93O+XKkyztXyqss+3I/DON3YOSG+01GTrK27652qfDLk rwVwVlqzmHBvA== Received: by mail-ot1-f48.google.com with SMTP id h63-20020a9d14450000b02904ce97efee36so1089165oth.7 for ; Tue, 27 Jul 2021 23:52:19 -0700 (PDT) X-Gm-Message-State: AOAM531vndvHvtSvJe0KYMlpYPuMaXKnBb+Myanq24KrM9Fw7JX9S8dg 47Xp1nJU/AbsVd7eb0KCLtru0EKYj/T9oODBVRI= X-Google-Smtp-Source: ABdhPJz6N2y68JVjzlKVNSHcQLGfyVQGTFOMzNp65xEO349IbOWtpz9g1b0yk2LbWI86799ImVLRYtHCFDl/p7VxUwY= X-Received: by 2002:a05:6830:2316:: with SMTP id u22mr18127224ote.90.1627455138411; Tue, 27 Jul 2021 23:52:18 -0700 (PDT) MIME-Version: 1.0 References: <20210519071421.16387-1-etienne.carriere@linaro.org> <20210519071421.16387-5-etienne.carriere@linaro.org> <1eac1393-0845-5126-2093-960017dc47f6@arm.com> <004001d77d0b$12d8f680$388ae380$@byosoft.com.cn> <1693754E76E980B8.5055@groups.io> <01e201d7837a$7965ea50$6c31bef0$@byosoft.com.cn> In-Reply-To: From: "Ard Biesheuvel" Date: Wed, 28 Jul 2021 08:52:06 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for 32bit arm machines To: Sami Mujawar Cc: gaoliming , "devel@edk2.groups.io" , Etienne Carriere , Achin Gupta , Ard Biesheuvel , Jiewen Yao , Leif Lindholm , Sughosh Ganu , nd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 28 Jul 2021 at 08:41, Sami Mujawar wrote: > > Hi Liming, > > I will look into this shortly. > I submitted it here https://github.com/tianocore/edk2/pull/1823 but it triggered a CI failure that was not immediately obvious to me, and I haven't had time yet to dig into it. > > ________________________________ > From: gaoliming > Sent: Wednesday, 28 July 2021, 7:33 am > To: devel@edk2.groups.io; gaoliming@byosoft.com.cn; ardb@kernel.org > Cc: Sami Mujawar; 'Etienne Carriere'; Achin Gupta; 'Ard Biesheuvel'; 'Ji= ewen Yao'; 'Leif Lindholm'; 'Sughosh Ganu'; nd > Subject: =E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg= : build for 32bit arm machines > > Ard and Sami: > Will you help merge this patch set for 202108 stable tag? > > 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 gaoliming > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B47=E6=9C=8820=E6=97= =A5 17:21 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io; ardb@kernel.org > > =E6=8A=84=E9=80=81: 'Sami Mujawar' ; 'Etienne Ca= rriere' > > ; 'Achin Gupta' ; 'A= rd > > Biesheuvel' ; 'Jiewen Yao' > > ; 'Leif Lindholm' ; 'Sughosh > > Ganu' ; 'nd' > > =E4=B8=BB=E9=A2=98: =E5=9B=9E=E5=A4=8D: [edk2-devel] [PATCH v4 5/5] St= andaloneMmPkg: build for 32bit > > arm machines > > > > Ard: > > Thanks! I have added this feature into > > https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-P= lanni > > ng. > > > > 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 Ard > > > Biesheuvel > > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B47=E6=9C=8820=E6= =97=A5 15:46 > > > =E6=94=B6=E4=BB=B6=E4=BA=BA: edk2-devel-groups-io ; Liming Gao > > (Byosoft > > > address) > > > =E6=8A=84=E9=80=81: Sami Mujawar ; Etienne Car= riere > > > ; Achin Gupta ; Ar= d > > > Biesheuvel ; Jiewen Yao > > > ; Leif Lindholm ; Sughosh > > Ganu > > > ; nd > > > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg:= build for 32bit > > arm > > > machines > > > > > > On Tue, 20 Jul 2021 at 04:01, gaoliming > > wrote: > > > > > > > > Hi, all > > > > This patch set has passed code review. How about merge it for th= is > > > stable tag edk2 202108? > > > > > > > > > > OK, I will pick these up. Would you mind creating the entry for the > > > release notes? > > > > > > > > > > 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 Biesh= euvel > > > > > ; Jiewen Yao ; > > Leif > > > > > Lindholm ; Sughosh Ganu > > > ; > > > > > nd@arm.com > > > > > =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMm= Pkg: build for > > 32bit > > > arm > > > > > machines > > > > > > > > > > Hi Etienn, > > > > > > > > > > This patch looks good to me. > > > > > > > > > > Reviewed-by: Sami Mujawar > > > > > > > > > > Regards, > > > > > > > > > > Sami Mujawar > > > > > > > > > > On 19/05/2021 08:14 AM, Etienne Carriere wrote: > > > > > > This change allows to build StandaloneMmPkg components for 32b= it > > > Arm > > > > > > StandaloneMm firmware. > > > > > > > > > > > > This change mainly moves AArch64/ source files to Arm/ side di= rectory > > > > > > 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 b= eing > > > > > > 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 reserve= d. > > > > > > + 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 t= o > > > > > 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 re= quired > > by > > > 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 re= quired > > by > > > 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 > > > > > >