]> git.proxmox.com Git - mirror_edk2.git/blame - StandaloneMmPkg/StandaloneMmPkg.dsc
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / StandaloneMmPkg / StandaloneMmPkg.dsc
CommitLineData
da417eb8
SV
1## @file\r
2# Standalone MM Platform.\r
3#\r
349cd45b 4# Copyright (c) 2015 - 2021, Intel Corporation. All rights reserved.<BR>\r
55ec21db 5# Copyright (c) 2016 - 2021, Arm Limited. All rights reserved.<BR>\r
641866ac 6# Copyright (C) Microsoft Corporation<BR>\r
da417eb8 7#\r
86094561 8# SPDX-License-Identifier: BSD-2-Clause-Patent\r
da417eb8
SV
9#\r
10##\r
11\r
12################################################################################\r
13#\r
14# Defines Section - statements that will be processed to create a Makefile.\r
15#\r
16################################################################################\r
17[Defines]\r
18 PLATFORM_NAME = StandaloneMm\r
19 PLATFORM_GUID = 9A4BBA60-B4F9-47C7-9258-3BD77CAE9322\r
20 PLATFORM_VERSION = 1.0\r
21 DSC_SPECIFICATION = 0x00010011\r
22 OUTPUT_DIRECTORY = Build/StandaloneMm\r
a776bbab 23 SUPPORTED_ARCHITECTURES = AARCH64|X64|ARM\r
da417eb8
SV
24 BUILD_TARGETS = DEBUG|RELEASE\r
25 SKUID_IDENTIFIER = DEFAULT\r
26\r
27 # LzmaF86\r
28 DEFINE COMPRESSION_TOOL_GUID = D42AE6BD-1352-4bfb-909A-CA72A6EAE889\r
29\r
30################################################################################\r
31#\r
32# Library Class section - list of all Library Classes needed by this Platform.\r
33#\r
34################################################################################\r
349cd45b
DB
35\r
36!include MdePkg/MdeLibs.dsc.inc\r
37\r
da417eb8
SV
38[LibraryClasses]\r
39 #\r
40 # Basic\r
41 #\r
42 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
43 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
641866ac 44 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
8edde27a 45 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
da417eb8 46 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
82c1a212 47 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
da417eb8 48 FvLib|StandaloneMmPkg/Library/FvLib/FvLib.inf\r
82c1a212 49 HobLib|StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf\r
da417eb8
SV
50 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
51 MemLib|StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf\r
52 MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf\r
82c1a212 53 MmServicesTableLib|MdePkg/Library/StandaloneMmServicesTableLib/StandaloneMmServicesTableLib.inf\r
da417eb8 54 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
641866ac 55 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
da417eb8
SV
56 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
57 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
58 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
82c1a212
AB
59 StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf\r
60 StandaloneMmDriverEntryPoint|MdePkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf\r
55ec21db 61 VariableMmDependency|StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf\r
da417eb8 62\r
a776bbab 63[LibraryClasses.AARCH64, LibraryClasses.ARM]\r
da417eb8 64 ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
16583ecc 65 StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf\r
da417eb8
SV
66 ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf\r
67 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
641866ac 68 PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf\r
da417eb8 69\r
82c1a212
AB
70 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
71 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
72\r
73[LibraryClasses.common.MM_CORE_STANDALONE]\r
74 HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf\r
da417eb8 75\r
55ec21db
SM
76[LibraryClasses.common.MM_STANDALONE]\r
77 MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf\r
78\r
da417eb8
SV
79################################################################################\r
80#\r
81# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
82#\r
83################################################################################\r
da417eb8
SV
84[PcdsFixedAtBuild]\r
85 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800000CF\r
86 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xff\r
87 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f\r
88\r
da417eb8
SV
89###################################################################################################\r
90#\r
91# Components Section - list of the modules and components that will be processed by compilation\r
92# tools and the EDK II tools to generate PE32/PE32+/Coff image files.\r
93#\r
94# Note: The EDK II DSC file is not used to specify how compiled binary images get placed\r
95# into firmware volume images. This section is just a list of modules to compile from\r
96# source into UEFI-compliant binaries.\r
97# It is the FDF file that contains information on combining binary files into firmware\r
98# volume images, whose concept is beyond UEFI and is described in PI specification.\r
99# Binary modules do not need to be listed in this section, as they should be\r
100# specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),\r
101# Logo (Logo.bmp), and etc.\r
102# There may also be modules listed in this section that are not required in the FDF file,\r
103# When a module listed here is excluded from FDF file, then UEFI-compliant binary will be\r
104# generated for it, but the binary will not be put into any firmware volume.\r
105#\r
106###################################################################################################\r
107[Components.common]\r
108 #\r
109 # MM Core\r
110 #\r
111 StandaloneMmPkg/Core/StandaloneMmCore.inf\r
55ec21db
SM
112 StandaloneMmPkg/Library/FvLib/FvLib.inf\r
113 StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf\r
114 StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf\r
115 StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf\r
116 StandaloneMmPkg/Library/StandaloneMmHobLib/StandaloneMmHobLib.inf\r
117 StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf\r
118 StandaloneMmPkg/Library/StandaloneMmMemoryAllocationLib/StandaloneMmMemoryAllocationLib.inf\r
55ec21db 119 StandaloneMmPkg/Library/VariableMmDependency/VariableMmDependency.inf\r
da417eb8 120\r
a776bbab
EC
121[Components.AARCH64, Components.ARM]\r
122 StandaloneMmPkg/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf\r
641866ac 123 StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf\r
da417eb8
SV
124\r
125###################################################################################################\r
126#\r
127# BuildOptions Section - Define the module specific tool chain flags that should be used as\r
128# the default flags for a module. These flags are appended to any\r
129# standard flags that are defined by the build process. They can be\r
130# applied for any modules or only those modules with the specific\r
131# module style (EDK or EDKII) specified in [Components] section.\r
132#\r
133###################################################################################################\r
134[BuildOptions.AARCH64]\r
f8943176
AG
135GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp -mstrict-align\r
136GCC:*_*_*_CC_FLAGS = -mstrict-align\r
641866ac 137\r
a776bbab
EC
138[BuildOptions.ARM]\r
139GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv7-a\r
140GCC:*_*_*_CC_FLAGS = -fno-stack-protector\r
141\r
641866ac
MK
142[BuildOptions.X64]\r
143 MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096\r
144 GCC:*_GCC*_*_DLINK_FLAGS = -z common-page-size=0x1000\r