]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/SecurityPkg.dsc
SecurityPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / SecurityPkg / SecurityPkg.dsc
1 ## @file
2 # Security Module Package for All Architectures.
3 #
4 # Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>
5 # (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
6 # SPDX-License-Identifier: BSD-2-Clause-Patent
7 #
8 ##
9
10 [Defines]
11 PLATFORM_NAME = SecurityPkg
12 PLATFORM_GUID = B2C4614D-AE76-47ba-B876-5988BFED064F
13 PLATFORM_VERSION = 0.98
14 DSC_SPECIFICATION = 0x00010005
15 OUTPUT_DIRECTORY = Build/SecurityPkg
16 SUPPORTED_ARCHITECTURES = IA32|X64|EBC|ARM|AARCH64
17 BUILD_TARGETS = DEBUG|RELEASE|NOOPT
18 SKUID_IDENTIFIER = DEFAULT
19
20 [LibraryClasses]
21 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
22 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
23 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
24 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
25 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
26 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
27 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
28 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
29 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
30 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
31 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
32 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
33
34 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
35 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
36 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
37 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
38 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
39 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
40 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
41 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
42 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
43 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
44 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
45 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
46 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
47 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
48 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
49 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
50 TpmCommLib|SecurityPkg/Library/TpmCommLib/TpmCommLib.inf
51 PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
52 TcgPhysicalPresenceLib|SecurityPkg/Library/DxeTcgPhysicalPresenceLib/DxeTcgPhysicalPresenceLib.inf
53 TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
54 Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
55 Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
56 Tcg2PhysicalPresenceLib|SecurityPkg/Library/DxeTcg2PhysicalPresenceLib/DxeTcg2PhysicalPresenceLib.inf
57 TcgPpVendorLib|SecurityPkg/Library/TcgPpVendorLibNull/TcgPpVendorLibNull.inf
58 Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
59 RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
60 PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
61 PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf
62 S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
63 SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
64 LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
65 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
66 TcgStorageCoreLib|SecurityPkg/Library/TcgStorageCoreLib/TcgStorageCoreLib.inf
67 TcgStorageOpalLib|SecurityPkg/Library/TcgStorageOpalLib/TcgStorageOpalLib.inf
68 ResetSystemLib|MdeModulePkg/Library/BaseResetSystemLibNull/BaseResetSystemLibNull.inf
69
70 [LibraryClasses.ARM]
71 #
72 # It is not possible to prevent the ARM compiler for generic intrinsic functions.
73 # This library provides the instrinsic functions generate by a given compiler.
74 # And NULL mean link this library into all ARM images.
75 #
76 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
77
78 # Add support for GCC stack protector
79 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
80
81 [LibraryClasses.common.PEIM]
82 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
83 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
84 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
85 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
86 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
87 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
88 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
89 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
90 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
91 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
92 Tcg2PhysicalPresenceLib|SecurityPkg/Library/PeiTcg2PhysicalPresenceLib/PeiTcg2PhysicalPresenceLib.inf
93 RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
94
95 [LibraryClasses.common.DXE_DRIVER]
96 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
97 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
98 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
99 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
100 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
101 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
102 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
103
104 [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_SAL_DRIVER,]
105 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
106 DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
107 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
108 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
109 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
110
111 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
112 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
113 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
114 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
115 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
116 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
117
118 [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION]
119 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
120 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
121 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
122 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
123
124 [LibraryClasses.common.DXE_SMM_DRIVER]
125 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
126 SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
127 MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
128 ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
129 SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
130 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
131 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
132 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
133 Tcg2PhysicalPresenceLib|SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.inf
134 SmmIoLib|MdePkg/Library/SmmIoLib/SmmIoLib.inf
135
136 [PcdsDynamicDefault.common.DEFAULT]
137 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0xb6, 0xe5, 0x01, 0x8b, 0x19, 0x4f, 0xe8, 0x46, 0xab, 0x93, 0x1c, 0x53, 0x67, 0x1b, 0x90, 0xcc}
138 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2InitializationPolicy|1
139 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2SelfTestPolicy|1
140 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2ScrtmPolicy|1
141 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInitializationPolicy|1
142 gEfiSecurityPkgTokenSpaceGuid.PcdTpmScrtmPolicy|1
143 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|3
144 gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap|3
145
146 [PcdsDynamicHii.common.DEFAULT]
147 gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
148 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
149
150 [Components]
151 SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
152 #SecurityPkg/Library/DxeDeferImageLoadLib/DxeDeferImageLoadLib.inf
153 SecurityPkg/Library/DxeImageAuthenticationStatusLib/DxeImageAuthenticationStatusLib.inf
154
155 #
156 # TPM
157 #
158 SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
159 SecurityPkg/Library/TpmCommLib/TpmCommLib.inf
160 SecurityPkg/Library/DxeTcgPhysicalPresenceLib/DxeTcgPhysicalPresenceLib.inf
161 SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
162 SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
163 SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
164
165 SecurityPkg/Tcg/PhysicalPresencePei/PhysicalPresencePei.inf
166 SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
167
168 #
169 # TPM2
170 #
171 SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
172 SecurityPkg/Library/DxeTcg2PhysicalPresenceLib/DxeTcg2PhysicalPresenceLib.inf
173 SecurityPkg/Library/PeiTcg2PhysicalPresenceLib/PeiTcg2PhysicalPresenceLib.inf
174
175 SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
176 SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
177
178 SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
179 SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
180 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
181 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
182 SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
183 SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf
184
185 SecurityPkg/Library/HashLibTpm2/HashLibTpm2.inf
186
187 #
188 # TCG Storage.
189 #
190 SecurityPkg/Library/TcgStorageCoreLib/TcgStorageCoreLib.inf
191 SecurityPkg/Library/TcgStorageOpalLib/TcgStorageOpalLib.inf
192
193 #
194 # Other
195 #
196 SecurityPkg/Library/DxeRsa2048Sha256GuidedSectionExtractLib/DxeRsa2048Sha256GuidedSectionExtractLib.inf
197 SecurityPkg/Library/PeiRsa2048Sha256GuidedSectionExtractLib/PeiRsa2048Sha256GuidedSectionExtractLib.inf
198
199 SecurityPkg/Library/FmpAuthenticationLibPkcs7/FmpAuthenticationLibPkcs7.inf
200 SecurityPkg/Library/FmpAuthenticationLibRsa2048Sha256/FmpAuthenticationLibRsa2048Sha256.inf
201
202 [Components.IA32, Components.X64, Components.ARM, Components.AARCH64]
203 SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
204
205 [Components.IA32, Components.X64]
206 SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
207
208 #
209 # TPM
210 #
211 SecurityPkg/Tcg/TcgPei/TcgPei.inf
212 SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
213 SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf {
214 <LibraryClasses>
215 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
216 }
217
218 #
219 # TPM2
220 #
221 SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
222 SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
223 SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
224 SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
225
226 SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf {
227 <LibraryClasses>
228 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
229 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
230 }
231 SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
232 <LibraryClasses>
233 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf
234 NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
235 NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
236 NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
237 NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
238 NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
239 }
240
241 SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
242 <LibraryClasses>
243 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
244 NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
245 NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
246 NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
247 NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
248 NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
249 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
250 }
251 SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf {
252 <LibraryClasses>
253 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
254 }
255
256 #
257 # Hash2
258 #
259 SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.inf
260
261 #
262 # PKCS7 Verification
263 #
264 SecurityPkg/Pkcs7Verify/Pkcs7VerifyDxe/Pkcs7VerifyDxe.inf
265
266 [Components.IA32, Components.X64]
267
268 SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
269 SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
270 SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf
271 SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.inf
272
273 #
274 # Random Number Generator
275 #
276 SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
277
278 #
279 # Opal Password solution
280 #
281 SecurityPkg/Tcg/Opal/OpalPassword/OpalPasswordDxe.inf
282 SecurityPkg/Tcg/Opal/OpalPassword/OpalPasswordPei.inf
283
284 #
285 # HDD Password solution
286 #
287 SecurityPkg/HddPassword/HddPasswordDxe.inf
288 SecurityPkg/HddPassword/HddPasswordPei.inf
289
290 [BuildOptions]
291 MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:256
292 INTEL:*_*_IA32_DLINK_FLAGS = /ALIGN:256
293 *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
294