[edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for 32bit arm machines

Ard Biesheuvel ardb at kernel.org
Tue Jul 20 07:45:36 UTC 2021


On Tue, 20 Jul 2021 at 04:01, gaoliming <gaoliming at byosoft.com.cn> wrote:
>
> Hi, all
>   This patch set has passed code review. How about merge it for this stable tag edk2 202108?
>

OK, I will pick these up. Would you mind creating the entry for the
release notes?


> Thanks
> Liming
> > -----邮件原件-----
> > 发件人: devel at edk2.groups.io <devel at edk2.groups.io> 代表 Sami
> > Mujawar
> > 发送时间: 2021年5月19日 17:58
> > 收件人: Etienne Carriere <etienne.carriere at linaro.org>;
> > devel at edk2.groups.io
> > 抄送: Achin Gupta <achin.gupta at arm.com>; Ard Biesheuvel
> > <ardb+tianocore at kernel.org>; Jiewen Yao <jiewen.yao at intel.com>; Leif
> > Lindholm <leif at nuviainc.com>; Sughosh Ganu <sughosh.ganu at linaro.org>;
> > nd at arm.com
> > 主题: Re: [edk2-devel] [PATCH v4 5/5] StandaloneMmPkg: build for 32bit arm
> > machines
> >
> > Hi Etienn,
> >
> > This patch looks good to me.
> >
> > Reviewed-by: Sami Mujawar <sami.mujawar at arm.com>
> >
> > Regards,
> >
> > Sami Mujawar
> >
> > 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 <etienne.carriere at linaro.org>
> > > ---
> > > 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
> > => }/EventHandle.c
> > |  5 +++--
> > >   StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64
> > => }/StandaloneMmCpu.c
> > |  2 +-
> > >   StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64
> > => }/StandaloneMmCpu.h
> > |  0
> > >   StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64
> > => }/StandaloneMmCpu.inf
> > |  0
> > >   StandaloneMmPkg/Include/Library/{AArch64 =>
> > Arm}/StandaloneMmCoreEntryPoint.h
> > |  0
> > >   StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64 =>
> > Arm}/CreateHobList.c                                  |  2 +-
> > >   StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64 =>
> > Arm}/SetPermissions.c                                 |  2 +-
> > >   StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/{AArch64 =>
> > Arm}/StandaloneMmCoreEntryPoint.c                     | 16
> > ++++++++--------
> > >
> > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCor
> > eEntryPoint.inf                                    | 14
> > +++++++-------
> > >   StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{AArch64 =>
> > Arm}/StandaloneMmCoreHobLib.c                             |  0
> > >   StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{AArch64 =>
> > Arm}/StandaloneMmCoreHobLibInternal.c                     |  0
> > >
> > StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreH
> > obLib.inf                                            |  8 ++++----
> > >
> > StandaloneMmPkg/Library/StandaloneMmMemLib/{AArch64/StandaloneMm
> > MemLibInternal.c => 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       = 0x00010032
> > >     ENTRY_POINT                    = StandaloneMmMain
> > >
> > > -#  VALID_ARCHITECTURES           = IA32 X64 AARCH64
> > > +#  VALID_ARCHITECTURES           = 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 != EventId) &&
> > > -      (ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ_AARCH64 !=
> > EventId)) {
> > > +  if ((ARM_SMC_ID_MM_COMMUNICATE != EventId) &&
> > > +      (ARM_SVC_ID_FFA_MSG_SEND_DIRECT_REQ != 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 <Base.h>
> > >   #include <Pi/PiMmCis.h>
> > > -#include <Library/AArch64/StandaloneMmCoreEntryPoint.h>
> > > +#include <Library/Arm/StandaloneMmCoreEntryPoint.h>
> > >   #include <Library/DebugLib.h>
> > >   #include <Library/ArmSvcLib.h>
> > >   #include <Library/ArmLib.h>
> > > 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 <Guid/MmramMemoryReserve.h>
> > >   #include <Guid/MpInformation.h>
> > >
> > > -#include <Library/AArch64/StandaloneMmCoreEntryPoint.h>
> > > +#include <Library/Arm/StandaloneMmCoreEntryPoint.h>
> > >   #include <Library/ArmMmuLib.h>
> > >   #include <Library/ArmSvcLib.h>
> > >   #include <Library/DebugLib.h>
> > > 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 <Guid/MmramMemoryReserve.h>
> > >   #include <Guid/MpInformation.h>
> > >
> > > -#include <Library/AArch64/StandaloneMmCoreEntryPoint.h>
> > > +#include <Library/Arm/StandaloneMmCoreEntryPoint.h>
> > >   #include <Library/ArmMmuLib.h>
> > >   #include <Library/ArmSvcLib.h>
> > >   #include <Library/DebugLib.h>
> > > 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 <PiMm.h>
> > >
> > > -#include <Library/AArch64/StandaloneMmCoreEntryPoint.h>
> > > +#include <Library/Arm/StandaloneMmCoreEntryPoint.h>
> > >
> > >   #include <PiPei.h>
> > >   #include <Guid/MmramMemoryReserve.h>
> > > @@ -182,13 +182,13 @@ DelegatedEventLoop (
> > >       }
> > >
> > >       if (FfaEnabled) {
> > > -      EventCompleteSvcArgs->Arg0 =
> > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64;
> > > +      EventCompleteSvcArgs->Arg0 =
> > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;
> > >         EventCompleteSvcArgs->Arg1 = 0;
> > >         EventCompleteSvcArgs->Arg2 = 0;
> > > -      EventCompleteSvcArgs->Arg3 =
> > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;
> > > +      EventCompleteSvcArgs->Arg3 =
> > ARM_SVC_ID_SP_EVENT_COMPLETE;
> > >         EventCompleteSvcArgs->Arg4 = SvcStatus;
> > >       } else {
> > > -      EventCompleteSvcArgs->Arg0 =
> > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;
> > > +      EventCompleteSvcArgs->Arg0 =
> > ARM_SVC_ID_SP_EVENT_COMPLETE;
> > >         EventCompleteSvcArgs->Arg1 = SvcStatus;
> > >       }
> > >     }
> > > @@ -273,13 +273,13 @@ InitArmSvcArgs (
> > >     )
> > >   {
> > >     if (FeaturePcdGet (PcdFfaEnable)) {
> > > -    InitMmFoundationSvcArgs->Arg0 =
> > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP_AARCH64;
> > > +    InitMmFoundationSvcArgs->Arg0 =
> > ARM_SVC_ID_FFA_MSG_SEND_DIRECT_RESP;
> > >       InitMmFoundationSvcArgs->Arg1 = 0;
> > >       InitMmFoundationSvcArgs->Arg2 = 0;
> > > -    InitMmFoundationSvcArgs->Arg3 =
> > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;
> > > +    InitMmFoundationSvcArgs->Arg3 =
> > ARM_SVC_ID_SP_EVENT_COMPLETE;
> > >       InitMmFoundationSvcArgs->Arg4 = *Ret;
> > >     } else {
> > > -    InitMmFoundationSvcArgs->Arg0 =
> > ARM_SVC_ID_SP_EVENT_COMPLETE_AARCH64;
> > > +    InitMmFoundationSvcArgs->Arg0 =
> > ARM_SVC_ID_SP_EVENT_COMPLETE;
> > >       InitMmFoundationSvcArgs->Arg1 = *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 == 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           = 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                  =
> > HobLib|MM_CORE_STANDALONE
> > >
> > >   #
> > > -#  VALID_ARCHITECTURES           = X64 AARCH64
> > > +#  VALID_ARCHITECTURES           = 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 = 36;
> > > +  PhysicalAddressBits = 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 by the
> > build tools.
> > >   #
> > > -#  VALID_ARCHITECTURES           = IA32 X64 AARCH64
> > > +#  VALID_ARCHITECTURES           = 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 by the
> > build tools.
> > >   #
> > > -#  VALID_ARCHITECTURES           = AARCH64
> > > +#  VALID_ARCHITECTURES           = 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               = 1.0
> > >     DSC_SPECIFICATION              = 0x00010011
> > >     OUTPUT_DIRECTORY               = Build/StandaloneMm
> > > -  SUPPORTED_ARCHITECTURES        = AARCH64|X64
> > > +  SUPPORTED_ARCHITECTURES        = AARCH64|X64|ARM
> > >     BUILD_TARGETS                  = DEBUG|RELEASE
> > >     SKUID_IDENTIFIER               = 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 = -z common-page-size=0x1000
> > -march=armv8-a+nofp -mstrict-align
> > >   GCC:*_*_*_CC_FLAGS = -mstrict-align
> > >
> > > +[BuildOptions.ARM]
> > > +GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
> > -march=armv7-a
> > > +GCC:*_*_*_CC_FLAGS = -fno-stack-protector
> > > +
> > >   [BuildOptions.X64]
> > >     MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
> > >     GCC:*_GCC*_*_DLINK_FLAGS = -z common-page-size=0x1000
> >
> >
> >
> >
> >
>
>
>
>
>
> 
>
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#77954): https://edk2.groups.io/g/devel/message/77954
Mute This Topic: https://groups.io/mt/84328103/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-






More information about the edk2-devel-archive mailing list