## @file\r
# Standalone MM Platform.\r
#\r
-# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
-# Copyright (c) 2016 - 2019, ARM Limited. All rights reserved.<BR>\r
+# Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>\r
+# Copyright (C) Microsoft Corporation<BR>\r
#\r
# SPDX-License-Identifier: BSD-2-Clause-Patent\r
#\r
PLATFORM_VERSION = 1.0\r
DSC_SPECIFICATION = 0x00010011\r
OUTPUT_DIRECTORY = Build/StandaloneMm\r
- SUPPORTED_ARCHITECTURES = AARCH64\r
+ SUPPORTED_ARCHITECTURES = AARCH64|X64|ARM\r
BUILD_TARGETS = DEBUG|RELEASE\r
SKUID_IDENTIFIER = DEFAULT\r
\r
# Library Class section - list of all Library Classes needed by this Platform.\r
#\r
################################################################################\r
+\r
+!include MdePkg/MdeLibs.dsc.inc\r
+\r
[LibraryClasses]\r
#\r
# Basic\r
#\r
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+ CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf\r
MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf\r
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf\r
+ PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf\r
StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf\r
+ VariableMmDependency|StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf\r
\r
-[LibraryClasses.AARCH64]\r
+[LibraryClasses.AARCH64, LibraryClasses.ARM]\r
ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf\r
ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf\r
CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
+ PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf\r
\r
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
[LibraryClasses.common.MM_CORE_STANDALONE]\r
HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf\r
\r
+[LibraryClasses.common.MM_STANDALONE]\r
+ MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf\r
+\r
################################################################################\r
#\r
# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
# MM Core\r
#\r
StandaloneMmPkg/Core/StandaloneMmCore.inf\r
+ StandaloneMmPkg/Library/FvLib/FvLib.inf\r
+ StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf\r
+ StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf\r
+ StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf\r
+ StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf\r
+ StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf\r
+ StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf\r
+ StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf\r
\r
-[Components.AARCH64]\r
- StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf\r
+[Components.AARCH64, Components.ARM]\r
+ StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf\r
+ StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf\r
\r
###################################################################################################\r
#\r
[BuildOptions.AARCH64]\r
GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp -mstrict-align\r
GCC:*_*_*_CC_FLAGS = -mstrict-align\r
+\r
+[BuildOptions.ARM]\r
+GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv7-a\r
+GCC:*_*_*_CC_FLAGS = -fno-stack-protector\r
+\r
+[BuildOptions.X64]\r
+ MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096\r
+ GCC:*_GCC*_*_DLINK_FLAGS = -z common-page-size=0x1000\r