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

Sami Mujawar sami.mujawar at arm.com
Tue May 11 19:18:22 UTC 2021


Hi Etienne,

Thank you for this patch.

I am getting build errors in VariableMmDependency.inf when building for 
ARM. Not sure if you are getting these or it is my development 
environment (I am building on a Windows Host PC). Can you let me know 
which AArch32 GCC compiler you are using, please?

Apart from this, there are some minor comments that I have marked inline 
as [SAMI].

With those addressed.

Reviewed-by: Sami Mujawar <sami.mujawar at arm.com>

Regards,

Sami Mujawar

On 04/05/2021 04:20 PM, 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.
>
> Cc: Achin Gupta <achin.gupta at arm.com>
> Cc: Ard Biesheuvel <ardb+tianocore at kernel.org>
> Cc: Jiewen Yao <jiewen.yao at intel.com>
> Cc: Leif Lindholm <leif at nuviainc.com>
> Cc: Sami Mujawar <sami.mujawar at arm.com>
> Cc: Sughosh Ganu <sughosh.ganu at linaro.org>
> Signed-off-by: Etienne Carriere <etienne.carriere at linaro.org>
> ---
>   StandaloneMmPkg/Core/StandaloneMmCore.inf                                                                            |  2 +-
>   StandaloneMmPkg/Drivers/StandaloneMmCpu/{AArch64 => }/EventHandle.c                                                  | 12 ++++++++++--
>   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/StandaloneMmCoreEntryPoint.inf                                    | 14 +++++++-------
>   StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{AArch64 => Arm}/StandaloneMmCoreHobLib.c                             |  0
>   StandaloneMmPkg/Library/StandaloneMmCoreHobLib/{AArch64 => Arm}/StandaloneMmCoreHobLibInternal.c                     |  0
>   StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf                                            |  8 ++++----
>   StandaloneMmPkg/Library/StandaloneMmMemLib/{AArch64/StandaloneMmMemLibInternal.c => ArmStandaloneMmMemLibInternal.c} |  9 ++++++++-
>   StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf                                                    |  6 +++---
>   StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf                                                |  2 +-
>   StandaloneMmPkg/StandaloneMmPkg.dsc                                                                                  |  8 ++++----
>   17 files changed, 49 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 92%
> rename from StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/EventHandle.c
> rename to StandaloneMmPkg/Drivers/StandaloneMmCpu/EventHandle.c
> index 63fbe26642..2d7fd81133 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
>   
> @@ -27,6 +28,13 @@
>   
>   #include "StandaloneMmCpu.h"
>   
> +#ifdef MDE_CPU_AARCH64
> +#define ARM_SMC_ID_MM_COMMUNICATE          ARM_SMC_ID_MM_COMMUNICATE_AARCH64
> +#endif
> +#ifdef MDE_CPU_ARM
> +#define ARM_SMC_ID_MM_COMMUNICATE          ARM_SMC_ID_MM_COMMUNICATE_AARCH32
> +#endif
[SAMI] Should this definition be in 
ArmPkg\Include\IndustryStandard\ArmStdSmc.h?
I can see Patch 2/5 uses the above define in 
ArmPkg/Drivers/MmCommunicationDxe/MmCommunication.c.
[/SAMI]
> +
>   EFI_STATUS
>   EFIAPI
>   MmFoundationEntryRegister (
> @@ -92,8 +100,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/StandaloneMmCpu.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/StandaloneMmCpu.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/StandaloneMmCpu.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/StandaloneMmCpu.inf b/StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf
> similarity index 100%
> rename from StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
> rename to StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf
> diff --git a/StandaloneMmPkg/Include/Library/AArch64/StandaloneMmCoreEntryPoint.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/CreateHobList.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobList.c
> similarity index 97%
> rename from StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c
> rename to StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobList.c
> index 4d4cf3d5ff..85f8194687 100644
> --- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/CreateHobList.c
> +++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobList.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/SetPermissions.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissions.c
> similarity index 96%
> rename from StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
> rename to StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissions.c
> index 4a380df4a6..cd4b90823e 100644
> --- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/SetPermissions.c
> +++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissions.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/StandaloneMmCoreEntryPoint.c b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c
> similarity index 94%
> rename from StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
> rename to StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.c
> index b445d6942e..e199e81bbd 100644
> --- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/AArch64/StandaloneMmCoreEntryPoint.c
> +++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryPoint.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));
[SAMI] void * should be changed to VOID*
[/SAMI]
>   
>   finish:
>     if (Status == RETURN_UNSUPPORTED) {
> diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
> index 4fa426f58e..1762586cfa 100644
> --- a/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
> +++ b/StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.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/StandaloneMmCoreHobLib.c b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHobLib.c
> similarity index 100%
> rename from StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/StandaloneMmCoreHobLib.c
> rename to StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHobLib.c
> diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/StandaloneMmCoreHobLibInternal.c b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHobLibInternal.c
> similarity index 100%
> rename from StandaloneMmPkg/Library/StandaloneMmCoreHobLib/AArch64/StandaloneMmCoreHobLibInternal.c
> rename to StandaloneMmPkg/Library/StandaloneMmCoreHobLib/Arm/StandaloneMmCoreHobLibInternal.c
> diff --git a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
> index a2559920e8..34ed536480 100644
> --- a/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
> +++ b/StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.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/StandaloneMmMemLibInternal.c b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemLibInternal.c
> similarity index 86%
> rename from StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneMmMemLibInternal.c
> rename to StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemLibInternal.c
> index 4124959e04..fa7df46413 100644
> --- a/StandaloneMmPkg/Library/StandaloneMmMemLib/AArch64/StandaloneMmMemLibInternal.c
> +++ b/StandaloneMmPkg/Library/StandaloneMmMemLib/ArmStandaloneMmMemLibInternal.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/VariableMmDependency.inf b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
> index a2a059c5d6..ffb2a6d083 100644
> --- a/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
> +++ b/StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.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..01bfbe8cc5 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/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
>     VariableMmDependency|StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
>   
> -[LibraryClasses.AARCH64]
> +[LibraryClasses.AARCH64, LibraryClasses.ARM]
>     ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
>     StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
>     ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
> @@ -118,7 +118,7 @@
>     StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf
>     StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf
>   
> -[Components.AARCH64]
> +[Components.AARCH64, Components.ARM]
>     StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
[SAMI] I think this should be 
StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf.
[/SAMI]
>     StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf
>   
> @@ -131,7 +131,7 @@
>   #                        module style (EDK or EDKII) specified in [Components] section.
>   #
>   ###################################################################################################
> -[BuildOptions.AARCH64]
> +[BuildOptions.AARCH64, BuildOptions.ARM]
>   GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp -mstrict-align
>   GCC:*_*_*_CC_FLAGS = -mstrict-align
>   



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#75032): https://edk2.groups.io/g/devel/message/75032
Mute This Topic: https://groups.io/mt/82580250/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