]> git.proxmox.com Git - mirror_edk2.git/blob - StandaloneMmPkg/StandaloneMmPkg.dsc
BaseTools: Library hashing fix and optimization for --hash feature
[mirror_edk2.git] / StandaloneMmPkg / StandaloneMmPkg.dsc
1 ## @file
2 # Standalone MM Platform.
3 #
4 # Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
5 # Copyright (c) 2016 - 2018, ARM Limited. All rights reserved.<BR>
6 #
7 # SPDX-License-Identifier: BSD-2-Clause-Patent
8 #
9 ##
10
11 ################################################################################
12 #
13 # Defines Section - statements that will be processed to create a Makefile.
14 #
15 ################################################################################
16 [Defines]
17 PLATFORM_NAME = StandaloneMm
18 PLATFORM_GUID = 9A4BBA60-B4F9-47C7-9258-3BD77CAE9322
19 PLATFORM_VERSION = 1.0
20 DSC_SPECIFICATION = 0x00010011
21 OUTPUT_DIRECTORY = Build/StandaloneMm
22 SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64
23 BUILD_TARGETS = DEBUG|RELEASE
24 SKUID_IDENTIFIER = DEFAULT
25
26 # LzmaF86
27 DEFINE COMPRESSION_TOOL_GUID = D42AE6BD-1352-4bfb-909A-CA72A6EAE889
28
29 ################################################################################
30 #
31 # Library Class section - list of all Library Classes needed by this Platform.
32 #
33 ################################################################################
34 [LibraryClasses]
35 #
36 # Basic
37 #
38 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
39 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
40 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
41 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
42 FvLib|StandaloneMmPkg/Library/FvLib/FvLib.inf
43 HobLib|StandaloneMmPkg/Library/StandaloneMmCoreHobLib/StandaloneMmCoreHobLib.inf
44 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
45 MemLib|StandaloneMmPkg/Library/StandaloneMmMemLib/StandaloneMmMemLib.inf
46 MemoryAllocationLib|StandaloneMmPkg/Library/StandaloneMmCoreMemoryAllocationLib/StandaloneMmCoreMemoryAllocationLib.inf
47 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
48 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
49 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
50 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
51
52 #
53 # Entry point
54 #
55 StandaloneMmDriverEntryPoint|StandaloneMmPkg/Library/StandaloneMmDriverEntryPoint/StandaloneMmDriverEntryPoint.inf
56
57 [LibraryClasses.AARCH64]
58 ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
59 StandaloneMmMmuLib|ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf
60 ArmSvcLib|ArmPkg/Library/ArmSvcLib/ArmSvcLib.inf
61 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
62 PeCoffExtraActionLib|StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMmPeCoffExtraActionLib.inf
63
64 StandaloneMmCoreEntryPoint|StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.inf
65
66 ################################################################################
67 #
68 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
69 #
70 ################################################################################
71 [PcdsFixedAtBuild]
72 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x800000CF
73 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xff
74 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f
75
76 ###################################################################################################
77 #
78 # Components Section - list of the modules and components that will be processed by compilation
79 # tools and the EDK II tools to generate PE32/PE32+/Coff image files.
80 #
81 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
82 # into firmware volume images. This section is just a list of modules to compile from
83 # source into UEFI-compliant binaries.
84 # It is the FDF file that contains information on combining binary files into firmware
85 # volume images, whose concept is beyond UEFI and is described in PI specification.
86 # Binary modules do not need to be listed in this section, as they should be
87 # specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
88 # Logo (Logo.bmp), and etc.
89 # There may also be modules listed in this section that are not required in the FDF file,
90 # When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
91 # generated for it, but the binary will not be put into any firmware volume.
92 #
93 ###################################################################################################
94 [Components.common]
95 #
96 # MM Core
97 #
98 StandaloneMmPkg/Core/StandaloneMmCore.inf
99
100 [Components.AARCH64]
101 StandaloneMmPkg/Drivers/StandaloneMmCpu/AArch64/StandaloneMmCpu.inf
102
103 ###################################################################################################
104 #
105 # BuildOptions Section - Define the module specific tool chain flags that should be used as
106 # the default flags for a module. These flags are appended to any
107 # standard flags that are defined by the build process. They can be
108 # applied for any modules or only those modules with the specific
109 # module style (EDK or EDKII) specified in [Components] section.
110 #
111 ###################################################################################################
112 [BuildOptions.AARCH64]
113 GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000 -march=armv8-a+nofp -mstrict-align
114 GCC:*_*_*_CC_FLAGS = -mstrict-align