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