]> git.proxmox.com Git - mirror_edk2.git/blob - Nt32Pkg/Nt32Pkg.dsc
Nt32Pkg: Use Shell source code directly
[mirror_edk2.git] / Nt32Pkg / Nt32Pkg.dsc
1 ## @file
2 # EFI/Framework Emulation Platform with UEFI HII interface supported.
3 #
4 # The Emulation Platform can be used to debug individual modules, prior to creating
5 # a real platform. This also provides an example for how an DSC is created.
6 #
7 # Copyright (c) 2006 - 2017, Intel Corporation. All rights reserved.<BR>
8 # Copyright (c) 2015, Hewlett-Packard Development Company, L.P.<BR>
9 # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
10 #
11 # This program and the accompanying materials
12 # are licensed and made available under the terms and conditions of the BSD License
13 # which accompanies this distribution. The full text of the license may be found at
14 # http://opensource.org/licenses/bsd-license.php
15 #
16 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
17 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 #
19 ##
20
21 ################################################################################
22 #
23 # Defines Section - statements that will be processed to create a Makefile.
24 #
25 ################################################################################
26 [Defines]
27 PLATFORM_NAME = NT32
28 PLATFORM_GUID = EB216561-961F-47EE-9EF9-CA426EF547C2
29 PLATFORM_VERSION = 0.4
30 DSC_SPECIFICATION = 0x00010005
31 OUTPUT_DIRECTORY = Build/NT32$(ARCH)
32 SUPPORTED_ARCHITECTURES = IA32|X64
33 BUILD_TARGETS = DEBUG|RELEASE|NOOPT
34 SKUID_IDENTIFIER = DEFAULT
35 FLASH_DEFINITION = Nt32Pkg/Nt32Pkg.fdf
36 #
37 # This flag is to control tool to generate PCD info for dynamic(ex) PCD,
38 # then enable or disable PCD info feature. TRUE is enable, and FLASE is disable.
39 # If the flag is absent, it will be same as FALSE.
40 #
41 PCD_INFO_GENERATION = TRUE
42
43 #
44 # Defines for default states. These can be changed on the command line.
45 # -D FLAG=VALUE
46 #
47 # Note: Secure Boot feature highly depends on the OpenSSL building. To enable this
48 # feature, please follow the instructions found in the file "Patch-HOWTO.txt"
49 # located in CryptoPkg\Library\OpensslLib to enable the OpenSSL building first.
50 #
51 DEFINE SECURE_BOOT_ENABLE = FALSE
52
53 #
54 # This flag is to enable or disable TLS feature.
55 # These can be changed on the command line.
56 # -D FLAG=VALUE
57 #
58 # Note: TLS feature highly depends on the OpenSSL building. To enable this
59 # feature, please follow the instructions found in the file "Patch-HOWTO.txt"
60 # located in CryptoPkg\Library\OpensslLib to enable the OpenSSL building first.
61 #
62 DEFINE TLS_ENABLE = FALSE
63
64 #
65 # Indicates whether HTTP connections (i.e., unsecured) are permitted or not.
66 # -D FLAG=VALUE
67 #
68 # Note: If ALLOW_HTTP_CONNECTIONS is TRUE, HTTP connections are allowed. Both
69 # the "https://" and "http://" URI schemes are permitted. Otherwise, HTTP
70 # connections are denied. Only the "https://" URI scheme is permitted.
71 #
72 DEFINE ALLOW_HTTP_CONNECTIONS = TRUE
73
74 #
75 # This flag is to enable or disable IPv6 network stack.
76 # These can be changed on the command line.
77 # -D FLAG=VALUE
78 #
79 DEFINE NETWORK_IP6_ENABLE = FALSE
80
81 ################################################################################
82 #
83 # SKU Identification section - list of all SKU IDs supported by this
84 # Platform.
85 #
86 ################################################################################
87 [SkuIds]
88 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.
89
90 ################################################################################
91 #
92 # Library Class section - list of all Library Classes needed by this Platform.
93 #
94 ################################################################################
95 [LibraryClasses]
96 #
97 # Entry point
98 #
99 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
100 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
101 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
102 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
103 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
104 #
105 # Basic
106 #
107 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
108 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
109 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
110 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
111 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
112 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
113 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
114 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
115 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
116 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
117 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
118 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
119 #
120 # UEFI & PI
121 #
122 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
123 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
124 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
125 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
126 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
127 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
128 DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
129 UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
130 PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
131 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
132 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
133 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
134 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
135 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
136
137 #
138 # Generic Modules
139 #
140 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
141 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
142 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
143 IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
144 UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
145 TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
146 HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
147 DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
148 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
149 GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
150 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
151 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
152 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
153 SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
154 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
155 BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
156 #
157 # Platform
158 #
159 PlatformBootManagerLib|Nt32Pkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
160 #
161 # Misc
162 #
163 DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
164 DebugPrintErrorLevelLib|MdeModulePkg/Library/DxeDebugPrintErrorLevelLib/DxeDebugPrintErrorLevelLib.inf
165 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
166 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
167 CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf
168 LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
169 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
170 !if $(TLS_ENABLE) == TRUE
171 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
172 !else
173 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
174 !endif
175
176 !if $(SECURE_BOOT_ENABLE) == TRUE
177 PlatformSecureLib|Nt32Pkg/Library/PlatformSecureLib/PlatformSecureLib.inf
178 TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
179 AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
180 !else
181 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
182 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
183 !endif
184 VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
185
186 [LibraryClasses.common.USER_DEFINED]
187 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
188 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
189 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
190 OemHookStatusCodeLib|Nt32Pkg/Library/PeiNt32OemHookStatusCodeLib/PeiNt32OemHookStatusCodeLib.inf
191 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
192 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
193
194 [LibraryClasses.common.PEIM,LibraryClasses.common.PEI_CORE]
195 #
196 # PEI phase common
197 #
198 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
199 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
200 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
201 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
202 BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptPei/BaseMemoryLibOptPei.inf
203 IoLib|MdePkg/Library/PeiIoLibCpuIo/PeiIoLibCpuIo.inf
204 PeCoffGetEntryPointLib|Nt32Pkg/Library/Nt32PeiPeCoffGetEntryPointLib/Nt32PeiPeCoffGetEntryPointLib.inf
205 PeCoffExtraActionLib|Nt32Pkg/Library/PeiNt32PeCoffExtraActionLib/PeiNt32PeCoffExtraActionLib.inf
206 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
207
208 [LibraryClasses.common.PEI_CORE]
209 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
210 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
211
212 [LibraryClasses.common.PEIM]
213 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
214 OemHookStatusCodeLib|Nt32Pkg/Library/PeiNt32OemHookStatusCodeLib/PeiNt32OemHookStatusCodeLib.inf
215 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
216
217 [LibraryClasses.common]
218 #
219 # DXE phase common
220 #
221 BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
222 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
223 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
224 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
225 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
226 OemHookStatusCodeLib|Nt32Pkg/Library/DxeNt32OemHookStatusCodeLib/DxeNt32OemHookStatusCodeLib.inf
227 PeCoffExtraActionLib|Nt32Pkg/Library/DxeNt32PeCoffExtraActionLib/DxeNt32PeCoffExtraActionLib.inf
228 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
229 WinNtLib|Nt32Pkg/Library/DxeWinNtLib/DxeWinNtLib.inf
230 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
231 TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
232
233 [LibraryClasses.common.DXE_CORE]
234 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
235 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
236 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
237
238 [LibraryClasses.common.DXE_SMM_DRIVER]
239 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
240
241 [LibraryClasses.common.UEFI_DRIVER]
242 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
243
244 [LibraryClasses.common.UEFI_APPLICATION]
245 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
246 PrintLib|MdeModulePkg/Library/DxePrintLibPrint2Protocol/DxePrintLibPrint2Protocol.inf
247
248 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
249 #
250 # Runtime
251 #
252 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
253
254 ################################################################################
255 #
256 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
257 #
258 ################################################################################
259 [PcdsFeatureFlag]
260 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
261 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|FALSE
262 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables|FALSE
263 gEfiMdeModulePkgTokenSpaceGuid.PcdPeiCoreImageLoaderSearchTeSectionFirst|FALSE
264 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableCollectStatistics|TRUE
265
266 [PcdsFixedAtBuild]
267 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|0x0
268 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizePopulateCapsule|0x0
269 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000040
270 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x1f
271 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareVolume|L"..\\Fv\\Nt32.fd"
272 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFirmwareBlockSize|0x10000
273 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x0f
274 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
275 !if $(SECURE_BOOT_ENABLE) == TRUE || $(TLS_ENABLE) == TRUE
276 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
277 !endif
278
279 !if $(ALLOW_HTTP_CONNECTIONS) == TRUE
280 gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
281 !endif
282
283 !ifndef $(USE_OLD_SHELL)
284 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
285 !endif
286
287 !if $(SECURE_BOOT_ENABLE) == TRUE
288 # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
289 gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
290 gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
291 gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
292 !endif
293
294 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
295
296
297 ################################################################################
298 #
299 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
300 #
301 ################################################################################
302 [PcdsDynamicDefault.common.DEFAULT]
303 gEfiNt32PkgTokenSpaceGuid.PcdWinNtSerialPort|L"COM1!COM2"|VOID*|20
304 gEfiNt32PkgTokenSpaceGuid.PcdWinNtGop|L"UGA Window 1!UGA Window 2"|VOID*|52
305 gEfiNt32PkgTokenSpaceGuid.PcdWinNtConsole|L"Bus Driver Console Window"|VOID*|52
306 gEfiNt32PkgTokenSpaceGuid.PcdWinNtVirtualDisk|L"FW;40960;512"|VOID*|26
307 gEfiNt32PkgTokenSpaceGuid.PcdWinNtMemorySize|L"64!64"|VOID*|12
308 gEfiNt32PkgTokenSpaceGuid.PcdWinNtPhysicalDisk|L"a:RW;2880;512!d:RO;307200;2048!j:RW;262144;512"|VOID*|100
309 gEfiNt32PkgTokenSpaceGuid.PcdWinNtUga|L"UGA Window 1!UGA Window 2"|VOID*|52
310
311 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
312 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
313 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase|0
314 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
315 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
316 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
317
318 [PcdsDynamicDefault.Ia32]
319 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFileSystem|L".!..\..\..\..\EdkShellBinPkg\Bin\Ia32\Apps"|VOID*|106
320
321 [PcdsDynamicDefault.x64]
322 gEfiNt32PkgTokenSpaceGuid.PcdWinNtFileSystem|L".!..\..\..\..\EdkShellBinPkg\Bin\X64\Apps"|VOID*|106
323
324 [PcdsDynamicHii.common.DEFAULT]
325 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn|L"SetupConsoleConfig"|gEfiNt32PkgTokenSpaceGuid|0x0|80
326 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow|L"SetupConsoleConfig"|gEfiNt32PkgTokenSpaceGuid|0x4|25
327 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|10
328 gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|L"HwErrRecSupport"|gEfiGlobalVariableGuid|0x0|1
329
330 ###################################################################################################
331 #
332 # Components Section - list of the modules and components that will be processed by compilation
333 # tools and the EDK II tools to generate PE32/PE32+/Coff image files.
334 #
335 # Note: The EDK II DSC file is not used to specify how compiled binary images get placed
336 # into firmware volume images. This section is just a list of modules to compile from
337 # source into UEFI-compliant binaries.
338 # It is the FDF file that contains information on combining binary files into firmware
339 # volume images, whose concept is beyond UEFI and is described in PI specification.
340 # Binary modules do not need to be listed in this section, as they should be
341 # specified in the FDF file. For example: Shell binary (Shell_Full.efi), FAT binary (Fat.efi),
342 # Logo (Logo.bmp), and etc.
343 # There may also be modules listed in this section that are not required in the FDF file,
344 # When a module listed here is excluded from FDF file, then UEFI-compliant binary will be
345 # generated for it, but the binary will not be put into any firmware volume.
346 #
347 ###################################################################################################
348 [Components]
349 ##
350 # SEC Phase modules
351 ##
352 Nt32Pkg/Sec/SecMain.inf {
353 <BuildOptions>
354 # Add override here, because default X64_CC_FLAGS is already overriden in DSC
355 MSFT:*_*_X64_CC_FLAGS == /nologo /W4 /WX /Gy /c /D UNICODE /Od /FIAutoGen.h /EHs-c- /GF /Gs8192 /Zi /Gm /D _CRT_SECURE_NO_WARNINGS /D _CRT_SECURE_NO_DEPRECATE
356 }
357
358 ##
359 # PEI Phase modules
360 ##
361 MdeModulePkg/Core/Pei/PeiMain.inf
362 MdeModulePkg/Universal/PCD/Pei/Pcd.inf {
363 <LibraryClasses>
364 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
365 }
366 MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf
367 MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf
368 Nt32Pkg/WinNtOemHookStatusCodeHandlerPei/WinNtOemHookStatusCodeHandlerPei.inf
369 Nt32Pkg/BootModePei/BootModePei.inf
370 Nt32Pkg/StallPei/StallPei.inf
371 Nt32Pkg/WinNtFlashMapPei/WinNtFlashMapPei.inf
372
373 MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
374 MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
375
376 Nt32Pkg/WinNtAutoScanPei/WinNtAutoScanPei.inf
377 Nt32Pkg/WinNtFirmwareVolumePei/WinNtFirmwareVolumePei.inf
378 Nt32Pkg/WinNtThunkPPIToProtocolPei/WinNtThunkPPIToProtocolPei.inf
379 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
380 ##
381 # DXE Phase modules
382 ##
383 MdeModulePkg/Core/Dxe/DxeMain.inf {
384 <LibraryClasses>
385 NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
386 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
387 <BuildOptions>
388 *_*_*_CC_FLAGS =
389 }
390
391 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
392 <LibraryClasses>
393 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
394 }
395 Nt32Pkg/MetronomeDxe/MetronomeDxe.inf
396 Nt32Pkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
397 Nt32Pkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
398 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
399 Nt32Pkg/FvbServicesRuntimeDxe/FvbServicesRuntimeDxe.inf
400 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
401 <LibraryClasses>
402 !if $(SECURE_BOOT_ENABLE) == TRUE
403 NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
404 !endif
405 }
406 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
407 MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
408 MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
409 Nt32Pkg/WinNtThunkDxe/WinNtThunkDxe.inf
410 Nt32Pkg/CpuRuntimeDxe/CpuRuntimeDxe.inf
411 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
412 Nt32Pkg/MiscSubClassPlatformDxe/MiscSubClassPlatformDxe.inf
413 Nt32Pkg/TimerDxe/TimerDxe.inf
414 MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
415 MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
416 Nt32Pkg/WinNtOemHookStatusCodeHandlerDxe/WinNtOemHookStatusCodeHandlerDxe.inf
417 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
418 <LibraryClasses>
419 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
420 }
421 !if $(SECURE_BOOT_ENABLE) == TRUE
422 SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
423 !endif
424 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
425 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
426 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
427 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
428 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf {
429 <LibraryClasses>
430 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
431 }
432 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf {
433 <LibraryClasses>
434 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
435 }
436 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf {
437 <LibraryClasses>
438 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
439 }
440 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf {
441 <LibraryClasses>
442 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
443 }
444 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
445 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
446 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
447 FatPkg/EnhancedFatDxe/Fat.inf
448 MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
449 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf ##This driver follows UEFI specification definition
450 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf ##This driver follows UEFI specification definition
451 IntelFrameworkModulePkg/Bus/Pci/IdeBusDxe/IdeBusDxe.inf
452 Nt32Pkg/WinNtBusDriverDxe/WinNtBusDriverDxe.inf {
453 <LibraryClasses>
454 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
455 }
456 Nt32Pkg/WinNtBlockIoDxe/WinNtBlockIoDxe.inf
457 Nt32Pkg/WinNtSerialIoDxe/WinNtSerialIoDxe.inf
458 Nt32Pkg/WinNtGopDxe/WinNtGopDxe.inf
459 Nt32Pkg/WinNtSimpleFileSystemDxe/WinNtSimpleFileSystemDxe.inf
460 MdeModulePkg/Application/HelloWorld/HelloWorld.inf
461
462 #
463 # Network stack drivers
464 # To test network drivers, need network Io driver(SnpNt32Io.dll), please refer to NETWORK-IO Subproject.
465 #
466 MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
467 MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
468 MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
469 MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
470 MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
471 MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
472 MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
473 MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
474 Nt32Pkg/SnpNt32Dxe/SnpNt32Dxe.inf
475
476 !if $(NETWORK_IP6_ENABLE) == TRUE
477 NetworkPkg/Ip6Dxe/Ip6Dxe.inf
478 NetworkPkg/Dhcp6Dxe/Dhcp6Dxe.inf
479 NetworkPkg/TcpDxe/TcpDxe.inf
480 NetworkPkg/Udp6Dxe/Udp6Dxe.inf
481 NetworkPkg/Mtftp6Dxe/Mtftp6Dxe.inf
482 NetworkPkg/UefiPxeBcDxe/UefiPxeBcDxe.inf
483 NetworkPkg/IScsiDxe/IScsiDxe.inf
484 !else
485 MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
486 MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
487 MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
488 !endif
489
490 NetworkPkg/HttpBootDxe/HttpBootDxe.inf
491 NetworkPkg/DnsDxe/DnsDxe.inf
492 NetworkPkg/HttpDxe/HttpDxe.inf
493 NetworkPkg/HttpUtilitiesDxe/HttpUtilitiesDxe.inf
494
495 !if $(TLS_ENABLE) == TRUE
496 NetworkPkg/TlsDxe/TlsDxe.inf
497 NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.inf
498 !endif
499
500 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
501 MdeModulePkg/Application/UiApp/UiApp.inf{
502 <LibraryClasses>
503 NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
504 NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
505 NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
506 }
507 MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
508 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
509 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
510 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
511 MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
512 MdeModulePkg/Universal/DriverSampleDxe/DriverSampleDxe.inf {
513 <LibraryClasses>
514 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
515 }
516 MdeModulePkg/Application/VariableInfo/VariableInfo.inf
517
518 MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
519 MdeModulePkg/Universal/LoadFileOnFv2/LoadFileOnFv2.inf
520 MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf {
521 <LibraryClasses>
522 NULL|IntelFrameworkModulePkg/Library/LegacyBootManagerLib/LegacyBootManagerLib.inf
523 }
524 MdeModulePkg/Logo/LogoDxe.inf
525 ShellPkg/Application/Shell/Shell.inf {
526 <PcdsFixedAtBuild>
527 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
528 <LibraryClasses>
529 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
530 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
531 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
532 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
533 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
534 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
535 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
536 NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
537 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
538 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
539 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
540 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
541 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
542 }
543
544 ###################################################################################################
545 #
546 # BuildOptions Section - Define the module specific tool chain flags that should be used as
547 # the default flags for a module. These flags are appended to any
548 # standard flags that are defined by the build process. They can be
549 # applied for any modules or only those modules with the specific
550 # module style (EDK or EDKII) specified in [Components] section.
551 #
552 ###################################################################################################
553 [BuildOptions]
554 DEBUG_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000 /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE
555 NOOPT_*_*_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /BASE:0x10000 /ALIGN:4096 /FILEALIGN:4096 /SUBSYSTEM:CONSOLE
556 RELEASE_*_*_DLINK_FLAGS = /ALIGN:4096 /FILEALIGN:4096
557
558 #############################################################################################################
559 # NOTE:
560 # The following [Libraries] section is for building EDK module under the EDKII tool chain.
561 # If you want build EDK module for Nt32 platform, please uncomment [Libraries] section and
562 # libraries used by that EDK module.
563 # Currently, Nt32 platform do not has any EDK style module
564 #
565 #
566 #[Libraries]
567 #
568 # Libraries common to PEI and DXE
569 #
570 # EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf
571 # EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf
572 # EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf
573 # EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf
574 # EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf
575 # EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf
576 # EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf
577 # EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf
578 # EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf
579
580 #
581 # PEI libraries
582 #
583 # EdkCompatibilityPkg/Foundation/Framework/Ppi/EdkFrameworkPpiLib.inf
584 # EdkCompatibilityPkg/Foundation/Ppi/EdkPpiLib.inf
585 # EdkCompatibilityPkg/Foundation/Library/Pei/PeiLib/PeiLib.inf
586 # EdkCompatibilityPkg/Foundation/Library/Pei/Hob/PeiHobLib.inf
587
588 #
589 # DXE libraries
590 #
591 # EdkCompatibilityPkg/Foundation/Core/Dxe/ArchProtocol/ArchProtocolLib.inf
592 # EdkCompatibilityPkg/Foundation/Efi/Protocol/EfiProtocolLib.inf
593 # EdkCompatibilityPkg/Foundation/Framework/Protocol/EdkFrameworkProtocolLib.inf
594 # EdkCompatibilityPkg/Foundation/Protocol/EdkProtocolLib.inf
595 # EdkCompatibilityPkg/Foundation/Library/Dxe/EfiDriverLib/EfiDriverLib.inf
596 # EdkCompatibilityPkg/Foundation/Library/RuntimeDxe/EfiRuntimeLib/EfiRuntimeLib.inf
597 # EdkCompatibilityPkg/Foundation/Library/Dxe/Graphics/Graphics.inf
598 # EdkCompatibilityPkg/Foundation/Library/Dxe/EfiIfrSupportLib/EfiIfrSupportLib.inf
599 # EdkCompatibilityPkg/Foundation/Library/Dxe/Print/PrintLib.inf
600 # EdkCompatibilityPkg/Foundation/Library/Dxe/EfiScriptLib/EfiScriptLib.inf
601 # EdkCompatibilityPkg/Foundation/Library/Dxe/EfiUiLib/EfiUiLib.inf
602
603 #
604 # Print/Graphics Library consume SetupBrowser Print Protocol
605 #
606 # EdkCompatibilityPkg/Foundation/Library/Dxe/PrintLite/PrintLib.inf
607 # EdkCompatibilityPkg/Foundation/Library/Dxe/GraphicsLite/Graphics.inf
608