EmulatorPkg: Remove framework pkgs dependency from EmulatorPkg
[mirror_edk2.git] / UefiPayloadPkg / UefiPayloadPkgIa32X64.dsc
1 ## @file\r
2 # Bootloader Payload Package\r
3 #\r
4 # Provides drivers and definitions to create uefi payload for bootloaders.\r
5 #\r
6 # Copyright (c) 2014 - 2019, Intel Corporation. All rights reserved.<BR>\r
7 # SPDX-License-Identifier: BSD-2-Clause-Patent\r
8 #\r
9 ##\r
10 \r
11 ################################################################################\r
12 #\r
13 # Defines Section - statements that will be processed to create a Makefile.\r
14 #\r
15 ################################################################################\r
16 [Defines]\r
17   PLATFORM_NAME                       = UefiPayloadPkg\r
18   PLATFORM_GUID                       = F71608AB-D63D-4491-B744-A99998C8CD96\r
19   PLATFORM_VERSION                    = 0.1\r
20   DSC_SPECIFICATION                   = 0x00010005\r
21   SUPPORTED_ARCHITECTURES             = IA32|X64\r
22   BUILD_TARGETS                       = DEBUG|RELEASE|NOOPT\r
23   SKUID_IDENTIFIER                    = DEFAULT\r
24   OUTPUT_DIRECTORY                    = Build/UefiPayloadPkgX64\r
25   FLASH_DEFINITION                    = UefiPayloadPkg/UefiPayloadPkg.fdf\r
26 \r
27   DEFINE SOURCE_DEBUG_ENABLE          = FALSE\r
28 \r
29   #\r
30   # SBL:      UEFI payload for Slim Bootloader\r
31   # COREBOOT: UEFI payload for coreboot\r
32   #\r
33   DEFINE   BOOTLOADER = SBL\r
34 \r
35   #\r
36   # CPU options\r
37   #\r
38   DEFINE MAX_LOGICAL_PROCESSORS       = 64\r
39 \r
40   #\r
41   # PCI options\r
42   #\r
43   DEFINE PCIE_BASE                    = 0xE0000000\r
44 \r
45   #\r
46   # Serial port set up\r
47   #\r
48   DEFINE BAUD_RATE                    = 115200\r
49   DEFINE SERIAL_CLOCK_RATE            = 1843200\r
50   DEFINE SERIAL_LINE_CONTROL          = 3 # 8-bits, no parity\r
51   DEFINE SERIAL_HARDWARE_FLOW_CONTROL = FALSE\r
52   DEFINE SERIAL_DETECT_CABLE          = FALSE\r
53   DEFINE SERIAL_FIFO_CONTROL          = 7 # Enable FIFO\r
54   DEFINE SERIAL_EXTENDED_TX_FIFO_SIZE = 16\r
55   DEFINE UART_DEFAULT_BAUD_RATE       = $(BAUD_RATE)\r
56   DEFINE UART_DEFAULT_DATA_BITS       = 8\r
57   DEFINE UART_DEFAULT_PARITY          = 1\r
58   DEFINE UART_DEFAULT_STOP_BITS       = 1\r
59   DEFINE DEFAULT_TERMINAL_TYPE        = 0\r
60 \r
61   #\r
62   #  typedef struct {\r
63   #    UINT16  VendorId;          ///< Vendor ID to match the PCI device.  The value 0xFFFF terminates the list of entries.\r
64   #    UINT16  DeviceId;          ///< Device ID to match the PCI device\r
65   #    UINT32  ClockRate;         ///< UART clock rate.  Set to 0 for default clock rate of 1843200 Hz\r
66   #    UINT64  Offset;            ///< The byte offset into to the BAR\r
67   #    UINT8   BarIndex;          ///< Which BAR to get the UART base address\r
68   #    UINT8   RegisterStride;    ///< UART register stride in bytes.  Set to 0 for default register stride of 1 byte.\r
69   #    UINT16  ReceiveFifoDepth;  ///< UART receive FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.\r
70   #    UINT16  TransmitFifoDepth; ///< UART transmit FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.\r
71   #    UINT8   Reserved[2];\r
72   #  } PCI_SERIAL_PARAMETER;\r
73   #\r
74   # Vendor FFFF Device 0000 Prog Interface 1, BAR #0, Offset 0, Stride = 1, Clock 1843200 (0x1c2000)\r
75   #\r
76   #                                       [Vendor]   [Device]  [----ClockRate---]  [------------Offset-----------] [Bar] [Stride] [RxFifo] [TxFifo]   [Rsvd]   [Vendor]\r
77   DEFINE PCI_SERIAL_PARAMETERS        = {0xff,0xff, 0x00,0x00, 0x0,0x20,0x1c,0x00, 0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0, 0x00,    0x01, 0x0,0x0, 0x0,0x0, 0x0,0x0, 0xff,0xff}\r
78 \r
79   #\r
80   # Shell options: [BUILD_SHELL, MIN_BIN, NONE, UEFI_BIN]\r
81   #\r
82   DEFINE SHELL_TYPE                   = BUILD_SHELL\r
83 \r
84 [BuildOptions]\r
85   *_*_*_CC_FLAGS                 = -D DISABLE_NEW_DEPRECATED_INTERFACES\r
86   GCC:*_UNIXGCC_*_CC_FLAGS       = -DMDEPKG_NDEBUG\r
87   GCC:RELEASE_*_*_CC_FLAGS       = -DMDEPKG_NDEBUG\r
88   INTEL:RELEASE_*_*_CC_FLAGS     = /D MDEPKG_NDEBUG\r
89   MSFT:RELEASE_*_*_CC_FLAGS      = /D MDEPKG_NDEBUG\r
90 \r
91 \r
92 ################################################################################\r
93 #\r
94 # SKU Identification section - list of all SKU IDs supported by this Platform.\r
95 #\r
96 ################################################################################\r
97 [SkuIds]\r
98   0|DEFAULT\r
99 \r
100 ################################################################################\r
101 #\r
102 # Library Class section - list of all Library Classes needed by this Platform.\r
103 #\r
104 ################################################################################\r
105 [LibraryClasses]\r
106   #\r
107   # Entry point\r
108   #\r
109   PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf\r
110   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
111   DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
112   UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
113   UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
114 \r
115   #\r
116   # Basic\r
117   #\r
118   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
119   BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf\r
120   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
121   PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
122   CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
123   IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
124 !if $(PCIE_BASE) == 0\r
125   PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf\r
126   PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf\r
127 !else\r
128   PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf\r
129   PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf\r
130 !endif\r
131   PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf\r
132   PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
133   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
134   CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf\r
135 \r
136   #\r
137   # UEFI & PI\r
138   #\r
139   UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
140   UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
141   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
142   UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
143   UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
144   HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
145   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
146   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
147   PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLibIdt/PeiServicesTablePointerLibIdt.inf\r
148   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
149   DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
150   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
151   UefiCpuLib|UefiCpuPkg/Library/BaseUefiCpuLib/BaseUefiCpuLib.inf\r
152   SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
153 \r
154   #\r
155   # Generic Modules\r
156   #\r
157   UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf\r
158   UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf\r
159   OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
160   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
161   SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
162   UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
163   CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf\r
164   FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf\r
165 \r
166   #\r
167   # CPU\r
168   #\r
169   MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf\r
170   LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf\r
171 \r
172   #\r
173   # Platform\r
174   #\r
175   TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf\r
176   ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
177   SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf\r
178   PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf\r
179   PlatformBootManagerLib|UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
180   IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf\r
181 \r
182   #\r
183   # Misc\r
184   #\r
185   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
186   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
187 !if $(SOURCE_DEBUG_ENABLE) == TRUE\r
188   PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf\r
189   DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf\r
190 !else\r
191   PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
192   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
193 !endif\r
194   PlatformSupportLib|UefiPayloadPkg/Library/PlatformSupportLibNull/PlatformSupportLibNull.inf\r
195 !if $(BOOTLOADER) == "COREBOOT"\r
196   BlParseLib|UefiPayloadPkg/Library/CbParseLib/CbParseLib.inf\r
197 !else\r
198   BlParseLib|UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf\r
199 !endif\r
200 \r
201   DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
202   LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf\r
203   FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
204   AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf\r
205   TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf\r
206   VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf\r
207 \r
208 [LibraryClasses.IA32.SEC]\r
209   DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
210   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
211   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
212   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
213   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
214   ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf\r
215 \r
216 [LibraryClasses.IA32.PEI_CORE, LibraryClasses.IA32.PEIM]\r
217   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf\r
218   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
219   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
220   ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
221   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
222 !if $(SOURCE_DEBUG_ENABLE)\r
223   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf\r
224 !endif\r
225 \r
226 [LibraryClasses.common.DXE_CORE]\r
227   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
228   HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
229   MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
230   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
231   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
232 !if $(SOURCE_DEBUG_ENABLE)\r
233   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
234 !endif\r
235   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
236 \r
237 [LibraryClasses.common.DXE_DRIVER]\r
238   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
239   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
240   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
241   ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
242   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
243 !if $(SOURCE_DEBUG_ENABLE)\r
244   DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf\r
245 !endif\r
246   CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
247   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf\r
248 \r
249 [LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
250   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
251   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
252   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
253   ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf\r
254 \r
255 [LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]\r
256   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
257   MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
258   ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf\r
259   HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
260 \r
261 ################################################################################\r
262 #\r
263 # Pcd Section - list of all EDK II PCD Entries defined by this Platform.\r
264 #\r
265 ################################################################################\r
266 [PcdsFeatureFlag]\r
267 !if $(TARGET) == DEBUG\r
268   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE\r
269 !else\r
270   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE\r
271 !endif\r
272   gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE\r
273   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE\r
274   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE\r
275   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE\r
276 \r
277 [PcdsFixedAtBuild]\r
278   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000\r
279   gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000\r
280   gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000\r
281   #\r
282   # Make VariableRuntimeDxe work at emulated non-volatile variable mode.\r
283   #\r
284   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|TRUE\r
285 \r
286   gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0\r
287   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE\r
288   gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }\r
289 \r
290   gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|$(PCIE_BASE)\r
291 \r
292 !if $(SOURCE_DEBUG_ENABLE)\r
293   gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2\r
294 !endif\r
295 \r
296 [PcdsPatchableInModule.common]\r
297   gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7\r
298   gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F\r
299 !if $(SOURCE_DEBUG_ENABLE)\r
300   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17\r
301 !else\r
302   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F\r
303 !endif\r
304 \r
305   #\r
306   # The following parameters are set by Library/PlatformHookLib\r
307   #\r
308   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE\r
309   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x3f8\r
310   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|$(BAUD_RATE)\r
311   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1\r
312 \r
313   #\r
314   # Enable these parameters to be set on the command line\r
315   #\r
316   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|$(SERIAL_CLOCK_RATE)\r
317   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|$(SERIAL_LINE_CONTROL)\r
318   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|$(SERIAL_HARDWARE_FLOW_CONTROL)\r
319   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|$(SERIAL_DETECT_CABLE)\r
320   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|$(SERIAL_FIFO_CONTROL)\r
321   gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize|$(SERIAL_EXTENDED_TX_FIFO_SIZE)\r
322 \r
323   gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE\r
324   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|$(UART_DEFAULT_BAUD_RATE)\r
325   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|$(UART_DEFAULT_DATA_BITS)\r
326   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|$(UART_DEFAULT_PARITY)\r
327   gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|$(UART_DEFAULT_STOP_BITS)\r
328   gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|$(DEFAULT_TERMINAL_TYPE)\r
329   gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters|$(PCI_SERIAL_PARAMETERS)\r
330 \r
331   gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|$(MAX_LOGICAL_PROCESSORS)\r
332 \r
333 \r
334 ################################################################################\r
335 #\r
336 # Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform\r
337 #\r
338 ################################################################################\r
339 \r
340 [PcdsDynamicDefault]\r
341   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0\r
342   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0\r
343   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0\r
344   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0\r
345   gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3\r
346 \r
347   ## This PCD defines the video horizontal resolution.\r
348   #  This PCD could be set to 0 then video resolution could be at highest resolution.\r
349   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0\r
350   ## This PCD defines the video vertical resolution.\r
351   #  This PCD could be set to 0 then video resolution could be at highest resolution.\r
352   gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0\r
353 \r
354   ## The PCD is used to specify the video horizontal resolution of text setup.\r
355   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|0\r
356   ## The PCD is used to specify the video vertical resolution of text setup.\r
357   gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|0\r
358 \r
359   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|31\r
360   gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|100\r
361 \r
362 ################################################################################\r
363 #\r
364 # Components Section - list of all EDK II Modules needed by this Platform.\r
365 #\r
366 ################################################################################\r
367 [Components.IA32]\r
368   #\r
369   # SEC Core\r
370   #\r
371   UefiPayloadPkg/SecCore/SecCore.inf\r
372 \r
373   #\r
374   # PEI Core\r
375   #\r
376   MdeModulePkg/Core/Pei/PeiMain.inf\r
377 \r
378   #\r
379   # PEIM\r
380   #\r
381   MdeModulePkg/Universal/PCD/Pei/Pcd.inf {\r
382     <LibraryClasses>\r
383       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
384   }\r
385   MdeModulePkg/Universal/ReportStatusCodeRouter/Pei/ReportStatusCodeRouterPei.inf\r
386   MdeModulePkg/Universal/StatusCodeHandler/Pei/StatusCodeHandlerPei.inf\r
387 \r
388   UefiPayloadPkg/BlSupportPei/BlSupportPei.inf\r
389   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf\r
390 \r
391 [Components.X64]\r
392   #\r
393   # DXE Core\r
394   #\r
395   MdeModulePkg/Core/Dxe/DxeMain.inf {\r
396     <LibraryClasses>\r
397       NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
398   }\r
399 \r
400   #\r
401   # Components that produce the architectural protocols\r
402   #\r
403   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
404   UefiCpuPkg/CpuDxe/CpuDxe.inf\r
405   MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
406   MdeModulePkg/Application/UiApp/UiApp.inf {\r
407     <LibraryClasses>\r
408       NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf\r
409       NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf\r
410       NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf\r
411   }\r
412 \r
413   PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf\r
414   MdeModulePkg/Universal/Metronome/Metronome.inf\r
415   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
416   MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
417   MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
418   MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf\r
419   MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf\r
420   PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
421   MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf\r
422 \r
423   #\r
424   # Following are the DXE drivers\r
425   #\r
426   MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {\r
427     <LibraryClasses>\r
428       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
429   }\r
430 \r
431   MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf\r
432   MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf\r
433   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
434   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
435   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf\r
436   PcAtChipsetPkg/8259InterruptControllerDxe/8259.inf\r
437   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf\r
438   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf\r
439   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf\r
440 \r
441   UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf\r
442 \r
443   #\r
444   # SMBIOS Support\r
445   #\r
446   MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf\r
447 \r
448   #\r
449   # ACPI Support\r
450   #\r
451   MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf\r
452 \r
453   #\r
454   # PCI Support\r
455   #\r
456   MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf\r
457   MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
458     <LibraryClasses>\r
459       PciHostBridgeLib|UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf\r
460   }\r
461 \r
462   #\r
463   # SCSI/ATA/IDE/DISK Support\r
464   #\r
465   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
466   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
467   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
468   FatPkg/EnhancedFatDxe/Fat.inf\r
469   MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf\r
470   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf\r
471   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf\r
472   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf\r
473   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf\r
474 \r
475   #\r
476   # SD/eMMC Support\r
477   #\r
478   MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf\r
479   MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf\r
480   MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf\r
481 \r
482   #\r
483   # Usb Support\r
484   #\r
485   MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf\r
486   MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf\r
487   MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf\r
488   MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf\r
489   MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf\r
490   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf\r
491 \r
492   #\r
493   # ISA Support\r
494   #\r
495   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf\r
496 \r
497   #\r
498   # Console Support\r
499   #\r
500   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf\r
501   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
502   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
503   MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
504   UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf\r
505 \r
506   #------------------------------\r
507   #  Build the shell\r
508   #------------------------------\r
509 \r
510 !if $(SHELL_TYPE) == BUILD_SHELL\r
511 \r
512   #\r
513   # Shell Lib\r
514   #\r
515 [LibraryClasses]\r
516   BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf\r
517   DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
518   FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
519   ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
520   NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf\r
521 \r
522 [Components.X64]\r
523   ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {\r
524     <PcdsFixedAtBuild>\r
525       ## This flag is used to control initialization of the shell library\r
526       #  This should be FALSE for compiling the dynamic command.\r
527       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
528   }\r
529   ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {\r
530     <PcdsFixedAtBuild>\r
531       ## This flag is used to control initialization of the shell library\r
532       #  This should be FALSE for compiling the dynamic command.\r
533       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
534   }\r
535   ShellPkg/Application/Shell/Shell.inf {\r
536     <PcdsFixedAtBuild>\r
537       ## This flag is used to control initialization of the shell library\r
538       #  This should be FALSE for compiling the shell application itself only.\r
539       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
540 \r
541     #------------------------------\r
542     #  Basic commands\r
543     #------------------------------\r
544 \r
545     <LibraryClasses>\r
546       NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf\r
547       NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf\r
548       NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf\r
549       NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf\r
550       NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf\r
551       NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf\r
552 \r
553     #------------------------------\r
554     #  Networking commands\r
555     #------------------------------\r
556 \r
557     <LibraryClasses>\r
558       NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf\r
559 \r
560     #------------------------------\r
561     #  Support libraries\r
562     #------------------------------\r
563 \r
564     <LibraryClasses>\r
565       DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf\r
566       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
567       HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf\r
568       PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf\r
569       ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
570       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf\r
571       SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
572   }\r
573 \r
574 !endif\r