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