1## @file
2#  Security Module Package for All Architectures.
3#
4# Copyright (c) 2009 - 2015, 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.96
20  DSC_SPECIFICATION              = 0x00010005
21  OUTPUT_DIRECTORY               = Build/SecurityPkg
22  SUPPORTED_ARCHITECTURES        = IA32|IPF|X64|EBC
23  BUILD_TARGETS                  = DEBUG|RELEASE
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
38  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
39  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
40  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
41  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
42  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
43  DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
44  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
45  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
46  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
47  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
48  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
49  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
50  PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
51  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
52  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
53  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
54  TpmCommLib|SecurityPkg/Library/TpmCommLib/TpmCommLib.inf
55  PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
56  TcgPhysicalPresenceLib|SecurityPkg/Library/DxeTcgPhysicalPresenceLib/DxeTcgPhysicalPresenceLib.inf
57  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
58  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
59  Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
60  Tcg2PhysicalPresenceLib|SecurityPkg/Library/DxeTcg2PhysicalPresenceLib/DxeTcg2PhysicalPresenceLib.inf
61  TrEEPhysicalPresenceLib|SecurityPkg/Library/DxeTrEEPhysicalPresenceLib/DxeTrEEPhysicalPresenceLib.inf
62  TcgPpVendorLib|SecurityPkg/Library/TcgPpVendorLibNull/TcgPpVendorLibNull.inf
63  Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
64  TrEEPpVendorLib|SecurityPkg/Library/TrEEPpVendorLibNull/TrEEPpVendorLibNull.inf
65  RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
66
67[LibraryClasses.common.PEIM]
68  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
69  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
70  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
71  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
72  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
73  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
74  HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
75  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
76  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
77  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
78  Tcg2PhysicalPresenceLib|SecurityPkg/Library/PeiTcg2PhysicalPresenceLib/PeiTcg2PhysicalPresenceLib.inf
79  RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
80
81[LibraryClasses.common.DXE_DRIVER]
82  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
83  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
84  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
85  HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
86  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
87  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
88
89[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.DXE_SAL_DRIVER,]
90  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
91  DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
92  HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
93  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
94  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
95
96[LibraryClasses.common.DXE_RUNTIME_DRIVER]
97  ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
98  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
99  HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
100  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
101  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
102
103[LibraryClasses.common.UEFI_DRIVER, LibraryClasses.common.UEFI_APPLICATION]
104  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
105  HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
106  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
107  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
108
109[LibraryClasses.IPF.DXE_SAL_DRIVER]
110  ExtendedSalLib|MdePkg/Library/DxeRuntimeExtendedSalLib/DxeRuntimeExtendedSalLib.inf
111  BaseCryptLib|CryptoPkg/Library/BaseCryptLibRuntimeCryptProtocol/BaseCryptLibRuntimeCryptProtocol.inf
112  HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
113  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
114  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
115
116[LibraryClasses.common.DXE_SMM_DRIVER]
117  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
118  SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
119  MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
120  ReportStatusCodeLib|MdeModulePkg/Library/SmmReportStatusCodeLib/SmmReportStatusCodeLib.inf
121  SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
122  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
123  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
124  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
125  Tcg2PhysicalPresenceLib|SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.inf
126
127[PcdsDynamicDefault.common.DEFAULT]
128  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0xb6, 0xe5, 0x01, 0x8b, 0x19, 0x4f, 0xe8, 0x46, 0xab, 0x93, 0x1c, 0x53, 0x67, 0x1b, 0x90, 0xcc}
129  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2InitializationPolicy|1
130  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2SelfTestPolicy|1
131  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2ScrtmPolicy|1
132  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInitializationPolicy|1
133  gEfiSecurityPkgTokenSpaceGuid.PcdTpmScrtmPolicy|1
134  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|3
135  gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap|3
136
137[Components]
138  SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
139  #SecurityPkg/Library/DxeDeferImageLoadLib/DxeDeferImageLoadLib.inf
140  SecurityPkg/Library/DxeImageAuthenticationStatusLib/DxeImageAuthenticationStatusLib.inf
141  #SecurityPkg/UserIdentification/UserIdentifyManagerDxe/UserIdentifyManagerDxe.inf
142  #SecurityPkg/UserIdentification/UserProfileManagerDxe/UserProfileManagerDxe.inf
143
144  #
145  # Application
146  #
147  SecurityPkg/Application/RngTest/RngTest.inf
148
149  #
150  # TPM
151  #
152  SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
153  SecurityPkg/Library/TpmCommLib/TpmCommLib.inf
154  SecurityPkg/Library/DxeTcgPhysicalPresenceLib/DxeTcgPhysicalPresenceLib.inf
155  SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
156  SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
157  SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
158
159  SecurityPkg/Tcg/PhysicalPresencePei/PhysicalPresencePei.inf
160  SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
161
162  #
163  # TPM2
164  #
165  SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
166  SecurityPkg/Library/DxeTcg2PhysicalPresenceLib/DxeTcg2PhysicalPresenceLib.inf
167  SecurityPkg/Library/PeiTcg2PhysicalPresenceLib/PeiTcg2PhysicalPresenceLib.inf
168  #
169  # TrEE - to be deprecated
170  #
171  SecurityPkg/Library/DxeTrEEPhysicalPresenceLib/DxeTrEEPhysicalPresenceLib.inf
172
173  SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
174  SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
175
176  SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
177  SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
178  #
179  # TrEE - to be deprecated
180  #
181  SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
182  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
183  SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
184  SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
185  SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf
186
187  SecurityPkg/Library/HashLibTpm2/HashLibTpm2.inf
188
189  #
190  # Other
191  #
192  SecurityPkg/Library/DxeRsa2048Sha256GuidedSectionExtractLib/DxeRsa2048Sha256GuidedSectionExtractLib.inf
193  SecurityPkg/Library/PeiRsa2048Sha256GuidedSectionExtractLib/PeiRsa2048Sha256GuidedSectionExtractLib.inf
194
195  SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
196
197[Components.IA32, Components.X64, Components.IPF]
198#  SecurityPkg/UserIdentification/PwdCredentialProviderDxe/PwdCredentialProviderDxe.inf
199#  SecurityPkg/UserIdentification/UsbCredentialProviderDxe/UsbCredentialProviderDxe.inf
200  SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
201
202  #
203  # TPM
204  #
205  SecurityPkg/Tcg/TcgPei/TcgPei.inf
206  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
207  SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf {
208    <LibraryClasses>
209      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
210  }
211
212  #
213  # TPM2
214  #
215  SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
216  SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
217
218  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf {
219    <LibraryClasses>
220      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
221      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
222  }
223  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
224    <LibraryClasses>
225      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf
226      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
227      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
228      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
229  }
230
231  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
232    <LibraryClasses>
233      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
234      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
235      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
236      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
237      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
238  }
239  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf {
240    <LibraryClasses>
241      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
242  }
243
244  #
245  # TrEE - to be deprecated
246  #
247  SecurityPkg/Tcg/TrEEConfig/TrEEConfigPei.inf {
248    <LibraryClasses>
249      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
250      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
251  }
252  SecurityPkg/Tcg/TrEEPei/TrEEPei.inf {
253    <LibraryClasses>
254      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterPei.inf
255      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
256      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
257      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
258  }
259
260  SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf {
261    <LibraryClasses>
262      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
263      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
264      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
265      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
266      PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
267  }
268  SecurityPkg/Tcg/TrEEConfig/TrEEConfigDxe.inf {
269    <LibraryClasses>
270      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTrEE/Tpm2DeviceLibTrEE.inf
271  }
272
273  #
274  # Hash2
275  #
276  SecurityPkg/Hash2DxeCrypto/Hash2DxeCrypto.inf
277
278  #
279  # PKCS7 Verification
280  #
281  SecurityPkg/Pkcs7Verify/Pkcs7VerifyDxe/Pkcs7VerifyDxe.inf
282
283[Components.IA32, Components.X64]
284
285  SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
286  SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
287  SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf
288  SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.inf
289  #
290  # TrEE - to be deprecated
291  #
292  SecurityPkg/Tcg/TrEESmm/TrEESmm.inf
293  #
294  # Random Number Generator
295  #
296  SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
297
298[Components.IPF]
299  SecurityPkg/VariableAuthenticated/EsalVariableDxeSal/EsalVariableDxeSal.inf
300
301[BuildOptions]
302   MSFT:*_*_IA32_DLINK_FLAGS = /ALIGN:256
303  INTEL:*_*_IA32_DLINK_FLAGS = /ALIGN:256
304
305