<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
Hi Liming,
<div><br>
</div>
<div>I will look into this shortly.</div>
<div><br>
</div>
<div>Regards,</div>
<div><br>
</div>
Sami Mujawar
<div id="id-131a55b9-f486-49b1-bd7f-12793d4a9a9c" class="ms-outlook-mobile-reference-message">
<div style="font-family: sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg"><strong>From:</strong> gaoliming <gaoliming@byosoft.com.cn><br>
<strong>Sent:</strong> Wednesday, 28 July 2021, 7:33 am<br>
<strong>To:</strong> devel@edk2.groups.io; gaoliming@byosoft.com.cn; ardb@kernel.org<br>
<strong>Cc:</strong> Sami Mujawar; 'Etienne Carriere'; Achin Gupta; 'Ard Biesheuvel'; 'Jiewen Yao'; 'Leif Lindholm'; 'Sughosh Ganu'; nd<br>
<strong>Subject:</strong> 回复: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for 32bit arm machines<br>
</div>
<br>
<meta name="Generator" content="Microsoft Exchange Server">
<!-- converted from text --><style><!-- .EmailQuote { margin-left: 1pt; padding-left: 4pt; border-left: #800000 2px solid; } --></style><font size="2"><span style="font-size:11pt;">
<div class="PlainText">Ard and Sami:<br>
  Will you help merge this patch set for 202108 stable tag?<br>
<br>
Thanks<br>
Liming<br>
> -----邮件原件-----<br>
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 gaoliming<br>
> 发送时间: 2021年7月20日 17:21<br>
> 收件人: devel@edk2.groups.io; ardb@kernel.org<br>
> 抄送: 'Sami Mujawar' <sami.mujawar@arm.com>; 'Etienne Carriere'<br>
> <etienne.carriere@linaro.org>; 'Achin Gupta' <achin.gupta@arm.com>; 'Ard<br>
> Biesheuvel' <ardb+tianocore@kernel.org>; 'Jiewen Yao'<br>
> <jiewen.yao@intel.com>; 'Leif Lindholm' <leif@nuviainc.com>; 'Sughosh<br>
> Ganu' <sughosh.ganu@linaro.org>; 'nd' <nd@arm.com><br>
> 主题: 回复: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for 32bit<br>
> arm machines<br>
> <br>
> Ard:<br>
>   Thanks! I have added this feature into<br>
> <a href="https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Planni">
https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Planni</a><br>
> ng.<br>
> <br>
> Thanks<br>
> Liming<br>
> > -----邮件原件-----<br>
> > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Ard<br>
> > Biesheuvel<br>
> > 发送时间: 2021年7月20日 15:46<br>
> > 收件人: edk2-devel-groups-io <devel@edk2.groups.io>; Liming Gao<br>
> (Byosoft<br>
> > address) <gaoliming@byosoft.com.cn><br>
> > 抄送: Sami Mujawar <sami.mujawar@arm.com>; Etienne Carriere<br>
> > <etienne.carriere@linaro.org>; Achin Gupta <achin.gupta@arm.com>; Ard<br>
> > Biesheuvel <ardb+tianocore@kernel.org>; Jiewen Yao<br>
> > <jiewen.yao@intel.com>; Leif Lindholm <leif@nuviainc.com>; Sughosh<br>
> Ganu<br>
> > <sughosh.ganu@linaro.org>; nd <nd@arm.com><br>
> > 主题: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for 32bit<br>
> arm<br>
> > machines<br>
> ><br>
> > On Tue, 20 Jul 2021 at 04:01, gaoliming <gaoliming@byosoft.com.cn><br>
> wrote:<br>
> > ><br>
> > > Hi, all<br>
> > >   This patch set has passed code review. How about merge it for this<br>
> > stable tag edk2 202108?<br>
> > ><br>
> ><br>
> > OK, I will pick these up. Would you mind creating the entry for the<br>
> > release notes?<br>
> ><br>
> ><br>
> > > Thanks<br>
> > > Liming<br>
> > > > -----邮件原件-----<br>
> > > > 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Sami<br>
> > > > Mujawar<br>
> > > > 发送时间: 2021年5月19日 17:58<br>
> > > > 收件人: Etienne Carriere <etienne.carriere@linaro.org>;<br>
> > > > devel@edk2.groups.io<br>
> > > > 抄送: Achin Gupta <achin.gupta@arm.com>; Ard Biesheuvel<br>
> > > > <ardb+tianocore@kernel.org>; Jiewen Yao <jiewen.yao@intel.com>;<br>
> Leif<br>
> > > > Lindholm <leif@nuviainc.com>; Sughosh Ganu<br>
> > <sughosh.ganu@linaro.org>;<br>
> > > > nd@arm.com<br>
> > > > 主题: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for<br>
> 32bit<br>
> > arm<br>
> > > > machines<br>
> > > ><br>
> > > > Hi Etienn,<br>
> > > ><br>
> > > > This patch looks good to me.<br>
> > > ><br>
> > > > Reviewed-by: Sami Mujawar <sami.mujawar@arm.com><br>
> > > ><br>
> > > > Regards,<br>
> > > ><br>
> > > > Sami Mujawar<br>
> > > ><br>
> > > > On 19/05/2021 08:14 AM, Etienne Carriere wrote:<br>
> > > > > This change allows to build StandaloneMmPkg components for 32bit<br>
> > Arm<br>
> > > > > StandaloneMm firmware.<br>
> > > > ><br>
> > > > > This change mainly moves AArch64/ source files to Arm/ side directory<br>
> > > > > for several components:  StandaloneMmCpu,<br>
> > > > StandaloneMmCoreEntryPoint<br>
> > > > > and StandaloneMmMemLib. The source file is built for both 32b and<br>
> 64b<br>
> > > > > Arm targets.<br>
> > > > ><br>
> > > > > Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org><br>
> > > > > ---<br>
> > > > > Changes since v3:<br>
> > > > > - Fix BuildOptions.ARM in StandaloneMmPkg.<br>
> > > > > - Remove Cc tags.<br>
> > > > ><br>
> > > > > No change since v2<br>
> > > > ><br>
> > > > > Changes since v1:<br>
> > > > > - ARM_SMC_ID_MM_COMMUNICATE 32b/64b agnostic helper ID is<br>
> > > > defined<br>
> > > > >    in ArmStdSmc.h (see 1st commit in this series) instead of being<br>
> > > > >    local to EventHandle.c.<br>
> > > > > - Fix void occurrence to VOID.<br>
> > > > > - Fix path in StandaloneMmPkg/StandaloneMmPkg.dsc<br>
> > > > > ---<br>
> > > > >   StandaloneMmPkg/Core/StandaloneMmCore.inf<br>
> > > > |  2 +-<br>
> > > > >   StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64<br>
> > > > => }/EventHandle.c<br>
> > > > |  5 +++--<br>
> > > > >   StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64<br>
> > > > => }/StandaloneMmCpu.c<br>
> > > > |  2 +-<br>
> > > > >   StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64<br>
> > > > => }/StandaloneMmCpu.h<br>
> > > > |  0<br>
> > > > >   StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64<br>
> > > > => }/StandaloneMmCpu.inf<br>
> > > > |  0<br>
> > > > >   StandaloneMmPkg/Include/Library/{AArch64 =><br>
> > > > Arm}/StandaloneMmCoreEntryPoint.h<br>
> > > > |  0<br>
> > > > ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64<br>
> > =><br>
> > > > Arm}/CreateHobList.c                                  |  2 +-<br>
> > > > ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64<br>
> > =><br>
> > > > Arm}/SetPermissions.c                                 |  2 +-<br>
> > > > ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64<br>
> > =><br>
> > > > Arm}/StandaloneMmCoreEntryPoint.c                     | 16<br>
> > > > ++++++++--------<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCor<br>
> > > > eEntryPoint.inf                                    | 14<br>
> > > > +++++++-------<br>
> > > > >   StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{AArch64<br>
> =><br>
> > > > Arm}/StandaloneMmCoreHobLib.c                             |<br>
> > 0<br>
> > > > >   StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{AArch64<br>
> =><br>
> > > > Arm}/StandaloneMmCoreHobLibInternal.c                     |<br>
> 0<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreH<br>
> > > > obLib.inf                                            |  8<br>
> > ++++----<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmMemLib/{AArch64/StandaloneMm<br>
> > > > MemLibInternal.c => ArmStandaloneMmMemLibInternal.c} |  9<br>
> > ++++++++-<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.i<br>
> > > > nf                                                    |  6<br>
> > > > +++---<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependenc<br>
> > > > y.inf                                                |  2 +-<br>
> > > > >   StandaloneMmPkg/StandaloneMmPkg.dsc<br>
> > > > | 12 ++++++++----<br>
> > > > >   17 files changed, 46 insertions(+), 34 deletions(-)<br>
> > > > ><br>
> > > > > diff --git a/StandaloneMmPkg/Core/StandaloneMmCore.inf<br>
> > > > b/StandaloneMmPkg/Core/StandaloneMmCore.inf<br>
> > > > > index 87bf6e9440..56042b7b39 100644<br>
> > > > > --- a/StandaloneMmPkg/Core/StandaloneMmCore.inf<br>
> > > > > +++ b/StandaloneMmPkg/Core/StandaloneMmCore.inf<br>
> > > > > @@ -17,7 +17,7 @@<br>
> > > > >     PI_SPECIFICATION_VERSION       = 0x00010032<br>
> > > > >     ENTRY_POINT                    = StandaloneMmMain<br>
> > > > ><br>
> > > > > -#  VALID_ARCHITECTURES           = IA32 X64 AARCH64<br>
> > > > > +#  VALID_ARCHITECTURES           = IA32 X64 AARCH64 ARM<br>
> > > > ><br>
> > > > >   [Sources]<br>
> > > > >     StandaloneMmCore.c<br>
> > > > > diff --git<br>
> > > ><br>
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c<br>
> > > > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.c<br>
> > > > > similarity index 95%<br>
> > > > > rename from<br>
> > > > StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c<br>
> > > > > rename to<br>
> > StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.c<br>
> > > > > index 63fbe26642..165d696f99 100644<br>
> > > > > ---<br>
> > > ><br>
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c<br>
> > > > > +++ b/StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.c<br>
> > > > > @@ -2,6 +2,7 @@<br>
> > > > ><br>
> > > > >     Copyright (c) 2016 HP Development Company, L.P.<br>
> > > > >     Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<br>
> > > > > +  Copyright (c) 2021, Linaro Limited<br>
> > > > ><br>
> > > > >     SPDX-License-Identifier: BSD-2-Clause-Patent<br>
> > > > ><br>
> > > > > @@ -92,8 +93,8 @@ PiMmStandaloneArmTfCpuDriverEntry (<br>
> > > > >     // receipt of a synchronous MM request. Use the Event ID to<br>
> > > > distinguish<br>
> > > > >     // between synchronous and asynchronous events.<br>
> > > > >     //<br>
> > > > > -  if ((ARM_SMC_ID_MM_COMMUNICATE_AARCH64 != EventId) &&<br>
> > > > > -      (ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64 !=<br>
> > > > EventId)) {<br>
> > > > > +  if ((ARM_SMC_ID_MM_COMMUNICATE != EventId) &&<br>
> > > > > +      (ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ != EventId)) {<br>
> > > > >       DEBUG ((DEBUG_INFO, "UnRecognized Event - 0x%x\n",<br>
> > EventId));<br>
> > > > >       return EFI_INVALID_PARAMETER;<br>
> > > > >     }<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp<br>
> > > > u.c<br>
> > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.c<br>
> > > > > similarity index 96%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.<br>
> > > > c<br>
> > > > > rename to<br>
> > > > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.c<br>
> > > > > index d4590bcd19..10097f792f 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp<br>
> > > > u.c<br>
> > > > > +++<br>
> > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.c<br>
> > > > > @@ -10,7 +10,7 @@<br>
> > > > ><br>
> > > > >   #include <Base.h><br>
> > > > >   #include <Pi/PiMmCis.h><br>
> > > > > -#include <Library/AArch64/StandaloneMmCoreEntryPoint.h><br>
> > > > > +#include <Library/Arm/StandaloneMmCoreEntryPoint.h><br>
> > > > >   #include <Library/DebugLib.h><br>
> > > > >   #include <Library/ArmSvcLib.h><br>
> > > > >   #include <Library/ArmLib.h><br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp<br>
> > > > u.h<br>
> > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.h<br>
> > > > > similarity index 100%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.<br>
> > > > h<br>
> > > > > rename to<br>
> > > > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.h<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCp<br>
> > > > u.inf<br>
> > b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf<br>
> > > > > similarity index 100%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.i<br>
> > > > nf<br>
> > > > > rename to<br>
> > > > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoin<br>
> > > > t.h<br>
> > > ><br>
> > b/StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h<br>
> > > > > similarity index 100%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.h<br>
> > > > > rename to<br>
> > > ><br>
> StandaloneMmPkg/Include/Library/Arm/StandaloneMmCoreEntryPoint.h<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Create<br>
> > > > HobList.c<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHob<br>
> > > > List.c<br>
> > > > > similarity index 97%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHo<br>
> > > > bList.c<br>
> > > > > rename to<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobLis<br>
> > > > t.c<br>
> > > > > index 4d4cf3d5ff..85f8194687 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Create<br>
> > > > HobList.c<br>
> > > > > +++<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHob<br>
> > > > List.c<br>
> > > > > @@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent<br>
> > > > >   #include <Guid/MmramMemoryReserve.h><br>
> > > > >   #include <Guid/MpInformation.h><br>
> > > > ><br>
> > > > > -#include <Library/AArch64/StandaloneMmCoreEntryPoint.h><br>
> > > > > +#include <Library/Arm/StandaloneMmCoreEntryPoint.h><br>
> > > > >   #include <Library/ArmMmuLib.h><br>
> > > > >   #include <Library/ArmSvcLib.h><br>
> > > > >   #include <Library/DebugLib.h><br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPer<br>
> > > > missions.c<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissi<br>
> > > > ons.c<br>
> > > > > similarity index 96%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermi<br>
> > > > ssions.c<br>
> > > > > rename to<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissio<br>
> > > > ns.c<br>
> > > > > index 4a380df4a6..cd4b90823e 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPer<br>
> > > > missions.c<br>
> > > > > +++<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissi<br>
> > > > ons.c<br>
> > > > > @@ -14,7 +14,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent<br>
> > > > >   #include <Guid/MmramMemoryReserve.h><br>
> > > > >   #include <Guid/MpInformation.h><br>
> > > > ><br>
> > > > > -#include <Library/AArch64/StandaloneMmCoreEntryPoint.h><br>
> > > > > +#include <Library/Arm/StandaloneMmCoreEntryPoint.h><br>
> > > > >   #include <Library/ArmMmuLib.h><br>
> > > > >   #include <Library/ArmSvcLib.h><br>
> > > > >   #include <Library/DebugLib.h><br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standa<br>
> > > > loneMmCoreEntryPoint.c<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/Standalone<br>
> > > > MmCoreEntryPoint.c<br>
> > > > > similarity index 94%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standalo<br>
> > > > neMmCoreEntryPoint.c<br>
> > > > > rename to<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneM<br>
> > > > mCoreEntryPoint.c<br>
> > > > > index b445d6942e..49cf51a789 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/Standa<br>
> > > > loneMmCoreEntryPoint.c<br>
> > > > > +++<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/Standalone<br>
> > > > MmCoreEntryPoint.c<br>
> > > > > @@ -10,7 +10,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent<br>
> > > > ><br>
> > > > >   #include <PiMm.h><br>
> > > > ><br>
> > > > > -#include <Library/AArch64/StandaloneMmCoreEntryPoint.h><br>
> > > > > +#include <Library/Arm/StandaloneMmCoreEntryPoint.h><br>
> > > > ><br>
> > > > >   #include <PiPei.h><br>
> > > > >   #include <Guid/MmramMemoryReserve.h><br>
> > > > > @@ -182,13 +182,13 @@ DelegatedEventLoop (<br>
> > > > >       }<br>
> > > > ><br>
> > > > >       if (FfaEnabled) {<br>
> > > > > -      EventCompleteSvcArgs->Arg0 =<br>
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64;<br>
> > > > > +      EventCompleteSvcArgs->Arg0 =<br>
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;<br>
> > > > >         EventCompleteSvcArgs->Arg1 = 0;<br>
> > > > >         EventCompleteSvcArgs->Arg2 = 0;<br>
> > > > > -      EventCompleteSvcArgs->Arg3 =<br>
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;<br>
> > > > > +      EventCompleteSvcArgs->Arg3 =<br>
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE;<br>
> > > > >         EventCompleteSvcArgs->Arg4 = SvcStatus;<br>
> > > > >       } else {<br>
> > > > > -      EventCompleteSvcArgs->Arg0 =<br>
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;<br>
> > > > > +      EventCompleteSvcArgs->Arg0 =<br>
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE;<br>
> > > > >         EventCompleteSvcArgs->Arg1 = SvcStatus;<br>
> > > > >       }<br>
> > > > >     }<br>
> > > > > @@ -273,13 +273,13 @@ InitArmSvcArgs (<br>
> > > > >     )<br>
> > > > >   {<br>
> > > > >     if (FeaturePcdGet (PcdFfaEnable)) {<br>
> > > > > -    InitMmFoundationSvcArgs->Arg0 =<br>
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64;<br>
> > > > > +    InitMmFoundationSvcArgs->Arg0 =<br>
> > > > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;<br>
> > > > >       InitMmFoundationSvcArgs->Arg1 = 0;<br>
> > > > >       InitMmFoundationSvcArgs->Arg2 = 0;<br>
> > > > > -    InitMmFoundationSvcArgs->Arg3 =<br>
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;<br>
> > > > > +    InitMmFoundationSvcArgs->Arg3 =<br>
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE;<br>
> > > > >       InitMmFoundationSvcArgs->Arg4 = *Ret;<br>
> > > > >     } else {<br>
> > > > > -    InitMmFoundationSvcArgs->Arg0 =<br>
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;<br>
> > > > > +    InitMmFoundationSvcArgs->Arg0 =<br>
> > > > ARM_SVC_ID_SP_EVENT_COMPLETE;<br>
> > > > >       InitMmFoundationSvcArgs->Arg1 = *Ret;<br>
> > > > >     }<br>
> > > > >   }<br>
> > > > > @@ -395,7 +395,7 @@ _ModuleEntryPoint (<br>
> > > > >     //<br>
> > > > >     ProcessModuleEntryPointList (HobStart);<br>
> > > > ><br>
> > > > > -  DEBUG ((DEBUG_INFO, "Shared Cpu Driver EP 0x%lx\n", (UINT64)<br>
> > > > CpuDriverEntryPoint));<br>
> > > > > +  DEBUG ((DEBUG_INFO, "Shared Cpu Driver EP %p\n", (VOID *)<br>
> > > > CpuDriverEntryPoint));<br>
> > > > ><br>
> > > > >   finish:<br>
> > > > >     if (Status == RETURN_UNSUPPORTED) {<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm<br>
> > > > CoreEntryPoint.inf<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm<br>
> > > > CoreEntryPoint.inf<br>
> > > > > index 4fa426f58e..1762586cfa 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm<br>
> > > > CoreEntryPoint.inf<br>
> > > > > +++<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMm<br>
> > > > CoreEntryPoint.inf<br>
> > > > > @@ -21,10 +21,10 @@<br>
> > > > >   #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC (EBC<br>
> is<br>
> > for<br>
> > > > build only)<br>
> > > > >   #<br>
> > > > ><br>
> > > > > -[Sources.AARCH64]<br>
> > > > > -  AArch64/StandaloneMmCoreEntryPoint.c<br>
> > > > > -  AArch64/SetPermissions.c<br>
> > > > > -  AArch64/CreateHobList.c<br>
> > > > > +[Sources.AARCH64, Sources.ARM]<br>
> > > > > +  Arm/StandaloneMmCoreEntryPoint.c<br>
> > > > > +  Arm/SetPermissions.c<br>
> > > > > +  Arm/CreateHobList.c<br>
> > > > ><br>
> > > > >   [Sources.X64]<br>
> > > > >     X64/StandaloneMmCoreEntryPoint.c<br>
> > > > > @@ -34,14 +34,14 @@<br>
> > > > >     MdeModulePkg/MdeModulePkg.dec<br>
> > > > >     StandaloneMmPkg/StandaloneMmPkg.dec<br>
> > > > ><br>
> > > > > -[Packages.AARCH64]<br>
> > > > > +[Packages.ARM, Packages.AARCH64]<br>
> > > > >     ArmPkg/ArmPkg.dec<br>
> > > > ><br>
> > > > >   [LibraryClasses]<br>
> > > > >     BaseLib<br>
> > > > >     DebugLib<br>
> > > > ><br>
> > > > > -[LibraryClasses.AARCH64]<br>
> > > > > +[LibraryClasses.ARM, LibraryClasses.AARCH64]<br>
> > > > >     StandaloneMmMmuLib<br>
> > > > >     ArmSvcLib<br>
> > > > ><br>
> > > > > @@ -51,7 +51,7 @@<br>
> > > > >     gEfiStandaloneMmNonSecureBufferGuid<br>
> > > > >     gEfiArmTfCpuDriverEpDescriptorGuid<br>
> > > > ><br>
> > > > > -[FeaturePcd.AARCH64]<br>
> > > > > +[FeaturePcd.ARM, FeaturePcd.AARCH64]<br>
> > > > >     gArmTokenSpaceGuid.PcdFfaEnable<br>
> > > > ><br>
> > > > >   [BuildOptions]<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalon<br>
> > > > eMmCoreHobLib.c<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneM<br>
> > > > mCoreHobLib.c<br>
> > > > > similarity index 100%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalone<br>
> > > > MmCoreHobLib.c<br>
> > > > > rename to<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmC<br>
> > > > oreHobLib.c<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalon<br>
> > > > eMmCoreHobLibInternal.c<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneM<br>
> > > > mCoreHobLibInternal.c<br>
> > > > > similarity index 100%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/Standalone<br>
> > > > MmCoreHobLibInternal.c<br>
> > > > > rename to<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmC<br>
> > > > oreHobLibInternal.c<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore<br>
> > > > HobLib.inf<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore<br>
> > > > HobLib.inf<br>
> > > > > index a2559920e8..34ed536480 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore<br>
> > > > HobLib.inf<br>
> > > > > +++<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCore<br>
> > > > HobLib.inf<br>
> > > > > @@ -22,7 +22,7 @@<br>
> > > > >     LIBRARY_CLASS                  =<br>
> > > > HobLib|MM_CORE_STANDALONE<br>
> > > > ><br>
> > > > >   #<br>
> > > > > -#  VALID_ARCHITECTURES           = X64 AARCH64<br>
> > > > > +#  VALID_ARCHITECTURES           = X64 AARCH64 ARM<br>
> > > > >   #<br>
> > > > >   [Sources.common]<br>
> > > > >     Common.c<br>
> > > > > @@ -30,9 +30,9 @@<br>
> > > > >   [Sources.X64]<br>
> > > > >     X64/StandaloneMmCoreHobLib.c<br>
> > > > ><br>
> > > > > -[Sources.AARCH64]<br>
> > > > > -  AArch64/StandaloneMmCoreHobLib.c<br>
> > > > > -  AArch64/StandaloneMmCoreHobLibInternal.c<br>
> > > > > +[Sources.AARCH64, Sources.ARM]<br>
> > > > > +  Arm/StandaloneMmCoreHobLib.c<br>
> > > > > +  Arm/StandaloneMmCoreHobLibInternal.c<br>
> > > > ><br>
> > > > >   [Packages]<br>
> > > > >     MdePkg/MdePkg.dec<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneM<br>
> > > > mMemLibInternal.c<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMe<br>
> > > > mLibInternal.c<br>
> > > > > similarity index 86%<br>
> > > > > rename from<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneMm<br>
> > > > MemLibInternal.c<br>
> > > > > rename to<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemL<br>
> > > > ibInternal.c<br>
> > > > > index 4124959e04..fa7df46413 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneM<br>
> > > > mMemLibInternal.c<br>
> > > > > +++<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMe<br>
> > > > mLibInternal.c<br>
> > > > > @@ -20,6 +20,13 @@<br>
> > > > >   //<br>
> > > > >   extern EFI_PHYSICAL_ADDRESS<br>
> > > > mMmMemLibInternalMaximumSupportAddress;<br>
> > > > ><br>
> > > > > +#ifdef MDE_CPU_AARCH64<br>
> > > > > +#define ARM_PHYSICAL_ADDRESS_BITS 36<br>
> > > > > +#endif<br>
> > > > > +#ifdef MDE_CPU_ARM<br>
> > > > > +#define ARM_PHYSICAL_ADDRESS_BITS 32<br>
> > > > > +#endif<br>
> > > > > +<br>
> > > > >   /**<br>
> > > > >     Calculate and save the maximum support address.<br>
> > > > ><br>
> > > > > @@ -31,7 +38,7 @@<br>
> > > > MmMemLibInternalCalculateMaximumSupportAddress (<br>
> > > > >   {<br>
> > > > >     UINT8        PhysicalAddressBits;<br>
> > > > ><br>
> > > > > -  PhysicalAddressBits = 36;<br>
> > > > > +  PhysicalAddressBits = ARM_PHYSICAL_ADDRESS_BITS;<br>
> > > > ><br>
> > > > >     //<br>
> > > > >     // Save the maximum support address in one global variable<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib<br>
> > > > .inf<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib<br>
> > > > .inf<br>
> > > > > index 062b0d7a11..b29d97a746 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib<br>
> > > > .inf<br>
> > > > > +++<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib<br>
> > > > .inf<br>
> > > > > @@ -28,7 +28,7 @@<br>
> > > > >   #<br>
> > > > >   # The following information is for reference only and not required<br>
> by<br>
> > the<br>
> > > > build tools.<br>
> > > > >   #<br>
> > > > > -#  VALID_ARCHITECTURES           = IA32 X64 AARCH64<br>
> > > > > +#  VALID_ARCHITECTURES           = IA32 X64 AARCH64 ARM<br>
> > > > >   #<br>
> > > > ><br>
> > > > >   [Sources.Common]<br>
> > > > > @@ -37,8 +37,8 @@<br>
> > > > >   [Sources.IA32, Sources.X64]<br>
> > > > >     X86StandaloneMmMemLibInternal.c<br>
> > > > ><br>
> > > > > -[Sources.AARCH64]<br>
> > > > > -  AArch64/StandaloneMmMemLibInternal.c<br>
> > > > > +[Sources.AARCH64, Sources.ARM]<br>
> > > > > +  ArmStandaloneMmMemLibInternal.c<br>
> > > > ><br>
> > > > >   [Packages]<br>
> > > > >     MdePkg/MdePkg.dec<br>
> > > > > diff --git<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende<br>
> > > > ncy.inf<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende<br>
> > > > ncy.inf<br>
> > > > > index a2a059c5d6..ffb2a6d083 100644<br>
> > > > > ---<br>
> > > ><br>
> ><br>
> a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende<br>
> > > > ncy.inf<br>
> > > > > +++<br>
> > > ><br>
> ><br>
> b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDepende<br>
> > > > ncy.inf<br>
> > > > > @@ -20,7 +20,7 @@<br>
> > > > >   #<br>
> > > > >   # The following information is for reference only and not required<br>
> by<br>
> > the<br>
> > > > build tools.<br>
> > > > >   #<br>
> > > > > -#  VALID_ARCHITECTURES           = AARCH64<br>
> > > > > +#  VALID_ARCHITECTURES           = AARCH64|ARM<br>
> > > > >   #<br>
> > > > >   #<br>
> > > > ><br>
> > > > > diff --git a/StandaloneMmPkg/StandaloneMmPkg.dsc<br>
> > > > b/StandaloneMmPkg/StandaloneMmPkg.dsc<br>
> > > > > index 0c45df95e2..8012f93b7d 100644<br>
> > > > > --- a/StandaloneMmPkg/StandaloneMmPkg.dsc<br>
> > > > > +++ b/StandaloneMmPkg/StandaloneMmPkg.dsc<br>
> > > > > @@ -20,7 +20,7 @@<br>
> > > > >     PLATFORM_VERSION               = 1.0<br>
> > > > >     DSC_SPECIFICATION              = 0x00010011<br>
> > > > >     OUTPUT_DIRECTORY               = Build/StandaloneMm<br>
> > > > > -  SUPPORTED_ARCHITECTURES        = AARCH64|X64<br>
> > > > > +  SUPPORTED_ARCHITECTURES        = AARCH64|X64|ARM<br>
> > > > >     BUILD_TARGETS                  = DEBUG|RELEASE<br>
> > > > >     SKUID_IDENTIFIER               = DEFAULT<br>
> > > > ><br>
> > > > > @@ -60,7 +60,7 @@<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryP<br>
> > > > oint/StandaloneMmDriverEntryPoint.inf<br>
> > > > ><br>
> > > ><br>
> ><br>
> VariableMmDependency|StandaloneMmPkg/Library/VariableMmDependenc<br>
> > > > y/VariableMmDependency.inf<br>
> > > > ><br>
> > > > > -[LibraryClasses.AARCH64]<br>
> > > > > +[LibraryClasses.AARCH64, LibraryClasses.ARM]<br>
> > > > >     ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuSt<br>
> > > > andaloneMmLib.inf<br>
> > > > >     ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf<br>
> > > > > @@ -118,8 +118,8 @@<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/Standalone<br>
> > > > MmMemoryAllocationLib.inf<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependenc<br>
> > > > y.inf<br>
> > > > ><br>
> > > > > -[Components.AARCH64]<br>
> > > > > -<br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.i<br>
> > > > nf<br>
> > > > > +[Components.AARCH64, Components.ARM]<br>
> > > > > +<br>
> > StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf<br>
> > > > ><br>
> > > ><br>
> ><br>
> StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/Standalone<br>
> > > > MmPeCoffExtraActionLib.inf<br>
> > > > ><br>
> > > > ><br>
> > > ><br>
> ><br>
> ##############################################################<br>
> > > > #####################################<br>
> > > > > @@ -135,6 +135,10 @@<br>
> > > > >   GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000<br>
> > > > -march=armv8-a+nofp -mstrict-align<br>
> > > > >   GCC:*_*_*_CC_FLAGS = -mstrict-align<br>
> > > > ><br>
> > > > > +[BuildOptions.ARM]<br>
> > > > > +GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000<br>
> > > > -march=armv7-a<br>
> > > > > +GCC:*_*_*_CC_FLAGS = -fno-stack-protector<br>
> > > > > +<br>
> > > > >   [BuildOptions.X64]<br>
> > > > >     MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096<br>
> > > > >     GCC:*_GCC*_*_DLINK_FLAGS = -z common-page-size=0x1000<br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > > ><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> ><br>
> ><br>
> ><br>
> ><br>
> <br>
> <br>
> <br>
> <br>
> <br>
> <br>
> <br>
<br>
<br>
<br>
</div>
</span></font><br>
</div>
</body>
</html>


 <div width="1" style="color:white;clear:both">_._,_._,_</div> <hr>   Groups.io Links:<p>   You receive all messages sent to this group.    <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/78269">View/Reply Online (#78269)</a> |    |  <a target="_blank" href="https://groups.io/mt/84499979/1813853">Mute This Topic</a>  | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br>    <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> |  <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a>  [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>