]> git.proxmox.com Git - mirror_edk2.git/blobdiff - StandaloneMmPkg/StandaloneMmPkg.dsc
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / StandaloneMmPkg / StandaloneMmPkg.dsc
index 84de1ab0f13a6b7df6a77bde9960e0154908c6c6..8012f93b7dcc38ea8fdd2de98912bbc09157ec53 100644 (file)
@@ -1,16 +1,11 @@
 ## @file\r
 # Standalone MM Platform.\r
 #\r
-# Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
-# Copyright (c) 2016 - 2018, 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
-#    This program and the accompanying materials\r
-#    are licensed and made available under the terms and conditions of the BSD License\r
-#    which accompanies this distribution. The full text of the license may be found at\r
-#    http://opensource.org/licenses/bsd-license.php\r
-#\r
-#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#    SPDX-License-Identifier: BSD-2-Clause-Patent\r
 #\r
 ##\r
 \r
@@ -25,7 +20,7 @@
   PLATFORM_VERSION               = 1.0\r
   DSC_SPECIFICATION              = 0x00010011\r
   OUTPUT_DIRECTORY               = Build/StandaloneMm\r
-  SUPPORTED_ARCHITECTURES        = IA32|X64|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
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.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
   FvLib|StandaloneMmPkg/Library/FvLib/FvLib.inf\r
-  HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf\r
+  HobLib|StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf\r
   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
   MemLib|StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf\r
   MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf\r
+  MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.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
-  #\r
-  # Entry point\r
-  #\r
-  StandaloneMmDriverEntryPoint|StandaloneMmPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf\r
-\r
-[LibraryClasses.AARCH64]\r
+[LibraryClasses.AARCH64, LibraryClasses.ARM]\r
   ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
-  ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuStandaloneMmCoreLib.inf\r
+  StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf\r
   ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf\r
   CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
-  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf\r
-  PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf\r
-  PL011UartClockLib|ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf\r
-  # ARM PL011 UART Driver\r
-  SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf\r
+  PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf\r
 \r
-  StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf\r
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
+\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
 #\r
 ################################################################################\r
-[PcdsFeatureFlag]\r
-  gStandaloneMmPkgTokenSpaceGuid.PcdStandaloneMmEnable|TRUE\r
-\r
 [PcdsFixedAtBuild]\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800000CF\r
   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xff\r
   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f\r
 \r
-[PcdsFixedAtBuild.AARCH64]\r
-  ## PL011 - Serial Terminal\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x1c0b0000\r
-  gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200\r
-\r
 ###################################################################################################\r
 #\r
 # Components Section - list of the modules and components that will be processed by compilation\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
 #\r
 ###################################################################################################\r
 [BuildOptions.AARCH64]\r
-GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp\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