Add TPM2 implementation.
[mirror_edk2.git] / SecurityPkg / SecurityPkg.dsc
1 ## @file
2 # Security Module Package for All Architectures.
3 #
4 # Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.<BR>
5 # This program and the accompanying materials
6 # are licensed and made available under the terms and conditions of the BSD License
7 # which accompanies this distribution. The full text of the license may be found at
8 # http://opensource.org/licenses/bsd-license.php
9 #
10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 #
13 ##
14
15 [Defines]
16 PLATFORM_NAME = SecurityPkg
17 PLATFORM_GUID = B2C4614D-AE76-47ba-B876-5988BFED064F
18 PLATFORM_VERSION = 0.92
19 DSC_SPECIFICATION = 0x00010005
20 OUTPUT_DIRECTORY = Build/SecurityPkg
21 SUPPORTED_ARCHITECTURES = IA32|IPF|X64|EBC
22 BUILD_TARGETS = DEBUG|RELEASE
23 SKUID_IDENTIFIER = DEFAULT
24
25 [LibraryClasses]
26 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
27 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
28 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
29 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
30 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
31 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
32 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
33 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
34 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
35 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
36
37 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
38 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
39 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
40 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
41 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
42 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
43 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
44 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
45 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
46 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
47 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
48 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
49 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
50 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
51 TpmCommLib|SecurityPkg/Library/TpmCommLib/TpmCommLib.inf
52 PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
53 TcgPhysicalPresenceLib|SecurityPkg/Library/DxeTcgPhysicalPresenceLib/DxeTcgPhysicalPresenceLib.inf
54 TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
55 Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
56 Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
57 TrEEPhysicalPresenceLib|SecurityPkg/Library/DxeTrEEPhysicalPresenceLib/DxeTrEEPhysicalPresenceLib.inf
58
59 [LibraryClasses.common.PEIM]
60 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
61 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
62 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
63 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
64 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
65 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
66 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
67 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
68 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
69
70 [LibraryClasses.common.DXE_DRIVER]
71 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
72 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
73 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
74 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
75 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
76 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
77
78 [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_SAL_DRIVER,]
79 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
80 DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
81 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
82 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
83 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
84
85 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
86 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
87 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
88 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
89 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
90
91 [LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION]
92 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
93 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
94 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
95 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
96
97 [LibraryClasses.IPF.DXE_SAL_DRIVER]
98 ExtendedSalLib|MdePkg/Library/DxeRuntimeExtendedSalLib/DxeRuntimeExtendedSalLib.inf
99 BaseCryptLib|CryptoPkg/Library/BaseCryptLibRuntimeCryptProtocol/BaseCryptLibRuntimeCryptProtocol.inf
100 HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
101 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
102 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
103
104 [LibraryClasses.common.DXE_SMM_DRIVER]
105 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
106 SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
107 MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
108 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
109 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
110 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
111
112 [PcdsDynamicDefault.common.DEFAULT]
113 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0xb6, 0xe5, 0x01, 0x8b, 0x19, 0x4f, 0xe8, 0x46, 0xab, 0x93, 0x1c, 0x53, 0x67, 0x1b, 0x90, 0xcc}
114 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2InitializationPolicy|1
115 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2SelfTestPolicy|1
116 gEfiSecurityPkgTokenSpaceGuid.PcdTpm2ScrtmPolicy|1
117 gEfiSecurityPkgTokenSpaceGuid.PcdTpmInitializationPolicy|1
118 gEfiSecurityPkgTokenSpaceGuid.PcdTpmScrtmPolicy|1
119
120 [Components]
121 SecurityPkg/VariableAuthenticated/Pei/VariablePei.inf
122 SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
123 SecurityPkg/Library/DxeDeferImageLoadLib/DxeDeferImageLoadLib.inf
124 SecurityPkg/Library/DxeImageAuthenticationStatusLib/DxeImageAuthenticationStatusLib.inf
125 SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManagerDxe.inf
126 SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManagerDxe.inf
127
128 #
129 # Application
130 #
131 SecurityPkg/Application/VariableInfo/VariableInfo.inf
132
133 #
134 # TPM
135 #
136 SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
137 SecurityPkg/Library/TpmCommLib/TpmCommLib.inf
138 SecurityPkg/Library/DxeTcgPhysicalPresenceLib/DxeTcgPhysicalPresenceLib.inf
139 SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
140 SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
141 SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
142
143 SecurityPkg/Tcg/PhysicalPresencePei/PhysicalPresencePei.inf
144 SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
145
146 #
147 # TPM2
148 #
149 SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
150 SecurityPkg/Library/DxeTrEEPhysicalPresenceLib/DxeTrEEPhysicalPresenceLib.inf
151
152 SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
153 SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
154
155 SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
156 SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
157 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
158 SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
159 SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
160 SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf
161
162 SecurityPkg/Library/HashLibTpm2/HashLibTpm2.inf
163
164 [Components.IA32, Components.X64, Components.IPF]
165 SecurityPkg/UserIdentification/PwdCredentialProviderDxe/PwdCredentialProviderDxe.inf
166 SecurityPkg/UserIdentification/UsbCredentialProviderDxe/UsbCredentialProviderDxe.inf
167 SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
168 SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf
169
170 #
171 # TPM
172 #
173 SecurityPkg/Tcg/TcgPei/TcgPei.inf
174 SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
175 SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf {
176 <LibraryClasses>
177 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
178 }
179
180 #
181 # TPM2
182 #
183 SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
184 SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
185
186 SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf {
187 <LibraryClasses>
188 Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
189 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
190 }
191 SecurityPkg/Tcg/TrEEPei/TrEEPei.inf {
192 <LibraryClasses>
193 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf
194 NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
195 NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
196 NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
197 }
198
199 SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf {
200 <LibraryClasses>
201 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
202 NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
203 NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
204 NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
205 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
206 }
207 SecurityPkg/Tcg/TrEEConfig/TrEEConfigDxe.inf {
208 <LibraryClasses>
209 Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
210 }
211
212 [Components.IA32, Components.X64]
213 SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableSmm.inf
214 SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableSmmRuntimeDxe.inf
215 SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
216 SecurityPkg/Tcg/TrEESmm/TrEESmm.inf
217
218 [Components.IPF]
219 SecurityPkg/VariableAuthenticated/EsalVariableDxeSal/EsalVariableDxeSal.inf
220
221 [BuildOptions]
222 MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:256
223 INTEL:*_*_IA32_DLINK_FLAGS = /ALIGN:256
224