VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/UefiPayloadPkg/UefiPayloadPkg.dsc@ 109019

Last change on this file since 109019 was 108794, checked in by vboxsync, 4 weeks ago

Devices/EFI/FirmwareNew: Merge edk2-stable202502 from the vendor branch and make it build for the important platforms, bugref:4643

  • Property svn:eol-style set to native
File size: 44.2 KB
Line 
1## @file
2# Bootloader Payload Package
3#
4# Provides drivers and definitions to create uefi payload for bootloaders.
5#
6# Copyright (c) 2014 - 2023, Intel Corporation. All rights reserved.<BR>
7# Copyright (c) Microsoft Corporation.
8# SPDX-License-Identifier: BSD-2-Clause-Patent
9#
10##
11
12################################################################################
13#
14# Defines Section - statements that will be processed to create a Makefile.
15#
16################################################################################
17[Defines]
18 PLATFORM_NAME = UefiPayloadPkg
19 PLATFORM_GUID = F71608AB-D63D-4491-B744-A99998C8CD96
20 PLATFORM_VERSION = 0.1
21 DSC_SPECIFICATION = 0x00010005
22 SUPPORTED_ARCHITECTURES = IA32|X64
23 BUILD_TARGETS = DEBUG|RELEASE|NOOPT
24 SKUID_IDENTIFIER = DEFAULT
25 OUTPUT_DIRECTORY = Build/UefiPayloadPkg$(BUILD_ARCH)
26 FLASH_DEFINITION = UefiPayloadPkg/UefiPayloadPkg.fdf
27 PCD_DYNAMIC_AS_DYNAMICEX = TRUE
28
29 DEFINE SOURCE_DEBUG_ENABLE = FALSE
30 DEFINE PS2_KEYBOARD_ENABLE = FALSE
31 DEFINE RAM_DISK_ENABLE = FALSE
32 DEFINE SIO_BUS_ENABLE = FALSE
33 DEFINE SECURITY_STUB_ENABLE = TRUE
34 DEFINE SMM_SUPPORT = FALSE
35 DEFINE PLATFORM_BOOT_TIMEOUT = 3
36 DEFINE BOOT_MANAGER_ESCAPE = FALSE
37 DEFINE ATA_ENABLE = TRUE
38 DEFINE SD_ENABLE = TRUE
39 DEFINE PS2_MOUSE_ENABLE = TRUE
40 DEFINE SD_MMC_TIMEOUT = 1000000
41 DEFINE USE_CBMEM_FOR_CONSOLE = FALSE
42 DEFINE BOOTSPLASH_IMAGE = FALSE
43 DEFINE NVME_ENABLE = TRUE
44 DEFINE CAPSULE_SUPPORT = FALSE
45 DEFINE LOCKBOX_SUPPORT = FALSE
46
47 #
48 # Crypto Support
49 #
50 DEFINE CRYPTO_PROTOCOL_SUPPORT = FALSE
51 DEFINE CRYPTO_DRIVER_EXTERNAL_SUPPORT = FALSE
52
53 #
54 # Setup Universal Payload
55 #
56 # ELF: Build UniversalPayload file as UniversalPayload.elf
57 # FIT: Build UniversalPayload file as UniversalPayload.fit
58 #
59 DEFINE UNIVERSAL_PAYLOAD = FALSE
60 DEFINE UNIVERSAL_PAYLOAD_FORMAT = ELF
61
62 #
63 # NULL: NullMemoryTestDxe
64 # GENERIC: GenericMemoryTestDxe
65 #
66 DEFINE MEMORY_TEST = NULL
67 #
68 # SBL: UEFI payload for Slim Bootloader
69 # COREBOOT: UEFI payload for coreboot
70 #
71 DEFINE BOOTLOADER = SBL
72
73 #
74 # CPU options
75 #
76 DEFINE MAX_LOGICAL_PROCESSORS = 1024
77
78 #
79 # PCI options
80 #
81 DEFINE PCIE_BASE_SUPPORT = TRUE
82
83 #
84 # Serial port set up
85 #
86 DEFINE BAUD_RATE = 115200
87 DEFINE SERIAL_CLOCK_RATE = 1843200
88 DEFINE SERIAL_LINE_CONTROL = 3 # 8-bits, no parity
89 DEFINE SERIAL_HARDWARE_FLOW_CONTROL = FALSE
90 DEFINE SERIAL_DETECT_CABLE = FALSE
91 DEFINE SERIAL_FIFO_CONTROL = 7 # Enable FIFO
92 DEFINE UART_DEFAULT_BAUD_RATE = $(BAUD_RATE)
93 DEFINE UART_DEFAULT_DATA_BITS = 8
94 DEFINE UART_DEFAULT_PARITY = 1
95 DEFINE UART_DEFAULT_STOP_BITS = 1
96 DEFINE DEFAULT_TERMINAL_TYPE = 0
97
98 # Enabling the serial terminal will slow down the boot menu redering!
99 DEFINE DISABLE_SERIAL_TERMINAL = FALSE
100
101 #
102 # typedef struct {
103 # UINT16 VendorId; ///< Vendor ID to match the PCI device. The value 0xFFFF terminates the list of entries.
104 # UINT16 DeviceId; ///< Device ID to match the PCI device
105 # UINT32 ClockRate; ///< UART clock rate. Set to 0 for default clock rate of 1843200 Hz
106 # UINT64 Offset; ///< The byte offset into to the BAR
107 # UINT8 BarIndex; ///< Which BAR to get the UART base address
108 # UINT8 RegisterStride; ///< UART register stride in bytes. Set to 0 for default register stride of 1 byte.
109 # UINT16 ReceiveFifoDepth; ///< UART receive FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.
110 # UINT16 TransmitFifoDepth; ///< UART transmit FIFO depth in bytes. Set to 0 for a default FIFO depth of 16 bytes.
111 # UINT8 Reserved[2];
112 # } PCI_SERIAL_PARAMETER;
113 #
114 # Vendor FFFF Device 0000 Prog Interface 1, BAR #0, Offset 0, Stride = 1, Clock 1843200 (0x1c2000)
115 #
116 # [Vendor] [Device] [----ClockRate---] [------------Offset-----------] [Bar] [Stride] [RxFifo] [TxFifo] [Rsvd] [Vendor]
117 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}
118
119 #
120 # Shell options: [BUILD_SHELL, MIN_BIN, NONE, UEFI_BIN]
121 #
122 DEFINE SHELL_TYPE = BUILD_SHELL
123
124 #
125 # EMU: UEFI payload with EMU variable
126 # SPI: UEFI payload with SPI NV variable support
127 # NONE: UEFI payload with no variable modules
128 #
129 DEFINE VARIABLE_SUPPORT = EMU
130
131 DEFINE DISABLE_RESET_SYSTEM = FALSE
132 DEFINE NETWORK_DRIVER_ENABLE = FALSE
133
134 # Dfine the maximum size of the capsule image without a reset flag that the platform can support.
135 DEFINE MAX_SIZE_NON_POPULATE_CAPSULE = 0xa00000
136
137 # Define RTC related register.
138 DEFINE RTC_INDEX_REGISTER = 0x70
139 DEFINE RTC_TARGET_REGISTER = 0x71
140
141 DEFINE SERIAL_DRIVER_ENABLE = TRUE
142 DEFINE PERFORMANCE_MEASUREMENT_ENABLE = FALSE
143
144 # For recent X86 CPU, 0x15 CPUID instruction will return Time Stamp Counter Frequence.
145 # This is how BaseCpuTimerLib works, and a recommended way to get Frequence, so set the default value as TRUE.
146 # Note: for emulation platform such as QEMU, this may not work and should set it as FALSE
147 DEFINE CPU_TIMER_LIB_ENABLE = TRUE
148
149 #
150 # HPET: UEFI Payload will use HPET timer
151 # LAPIC: UEFI Payload will use local APIC timer
152 #
153 DEFINE TIMER_SUPPORT = HPET
154
155 DEFINE MULTIPLE_DEBUG_PORT_SUPPORT = FALSE
156
157 #
158 # Security
159 #
160 DEFINE SECURE_BOOT_ENABLE = FALSE
161
162[BuildOptions]
163 *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES
164!if $(USE_CBMEM_FOR_CONSOLE) == FALSE
165 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
166 INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
167 MSFT:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
168!endif
169
170[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
171 GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
172 XCODE:*_*_*_DLINK_FLAGS = -seg1addr 0x1000 -segalign 0x1000
173 XCODE:*_*_*_MTOC_FLAGS = -align 0x1000
174 CLANGPDB:*_*_*_DLINK_FLAGS = /ALIGN:4096
175 MSFT:*_*_*_DLINK_FLAGS = /ALIGN:4096
176
177################################################################################
178#
179# SKU Identification section - list of all SKU IDs supported by this Platform.
180#
181################################################################################
182[SkuIds]
183 0|DEFAULT
184
185################################################################################
186#
187# Library Class section - list of all Library Classes needed by this Platform.
188#
189################################################################################
190
191!include MdePkg/MdeLibs.dsc.inc
192
193[LibraryClasses]
194 #
195 # Entry point
196 #
197 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
198 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
199 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
200
201 #
202 # Basic
203 #
204 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
205 BaseMemoryLib|MdePkg/Library/BaseMemoryLibRepStr/BaseMemoryLibRepStr.inf
206 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
207 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
208 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
209 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
210!if $(PCIE_BASE_SUPPORT) == FALSE
211 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
212 PciCf8Lib|MdePkg/Library/BasePciCf8Lib/BasePciCf8Lib.inf
213!else
214 PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
215 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf
216!endif
217 PciSegmentLib|MdePkg/Library/PciSegmentLibSegmentInfo/BasePciSegmentLibSegmentInfo.inf
218 PciSegmentInfoLib|UefiPayloadPkg/Library/PciSegmentInfoLibAcpiBoardInfo/PciSegmentInfoLibAcpiBoardInfo.inf
219 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
220 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
221 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
222 SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
223 DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLib/DxeHobListLib.inf
224!if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
225 BaseCryptLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf
226 TlsLib|CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf
227!else
228 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
229 TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
230!endif
231 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
232 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
233 RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
234 HobLib|UefiPayloadPkg/Library/DxeHobLib/DxeHobLib.inf
235 CustomFdtNodeParserLib|UefiPayloadPkg/Library/CustomFdtNodeParserNullLib/CustomFdtNodeParserNullLib.inf
236
237 #
238 # UEFI & PI
239 #
240 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
241 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
242 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
243 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
244 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
245 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
246 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
247 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
248 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
249 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
250 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
251
252 #
253 # Generic Modules
254 #
255 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
256 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
257 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
258 !if $(CAPSULE_SUPPORT) == TRUE
259 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibFmp/DxeRuntimeCapsuleLib.inf
260 BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
261 !else
262 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
263 !endif
264 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
265 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
266 BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
267 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
268 FrameBufferBltLib|MdeModulePkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
269 ResetSystemLib|UefiPayloadPkg/Library/ResetSystemLib/ResetSystemLib.inf
270!if $(USE_CBMEM_FOR_CONSOLE) == TRUE
271 SerialPortLib|UefiPayloadPkg/Library/CbSerialPortLib/CbSerialPortLib.inf
272 PlatformHookLib|MdeModulePkg/Library/BasePlatformHookLibNull/BasePlatformHookLibNull.inf
273!else
274 !if $(MULTIPLE_DEBUG_PORT_SUPPORT) == TRUE
275 SerialPortLib|UefiPayloadPkg/Library/BaseSerialPortLibHob/DxeBaseSerialPortLibHob.inf
276 !else
277 SerialPortLib|MdeModulePkg/Library/BaseSerialPortLib16550/BaseSerialPortLib16550.inf
278 !endif
279 PlatformHookLib|UefiPayloadPkg/Library/PlatformHookLib/PlatformHookLib.inf
280!endif
281 PlatformBootManagerLib|UefiPayloadPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
282 IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
283
284 #
285 # Misc
286 #
287 DebugPrintErrorLevelLib|UefiPayloadPkg/Library/DebugPrintErrorLevelLibHob/DebugPrintErrorLevelLibHob.inf
288 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
289 ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
290!if $(SOURCE_DEBUG_ENABLE) == TRUE
291 PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf
292 DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf
293!else
294 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
295 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
296!endif
297 PlatformSupportLib|UefiPayloadPkg/Library/PlatformSupportLibNull/PlatformSupportLibNull.inf
298!if $(UNIVERSAL_PAYLOAD) == FALSE
299 !if $(BOOTLOADER) == "COREBOOT"
300 BlParseLib|UefiPayloadPkg/Library/CbParseLib/CbParseLib.inf
301 !else
302 BlParseLib|UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf
303 !endif
304!endif
305
306 DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
307!if $(LOCKBOX_SUPPORT) == TRUE
308 LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf
309!else
310 LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf
311!endif
312 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
313
314!if $(SECURE_BOOT_ENABLE) == TRUE
315 PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
316 AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
317 SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
318 PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
319 SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
320!else
321 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
322!endif
323
324!if $(VARIABLE_SUPPORT) == "EMU"
325 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
326!elseif $(VARIABLE_SUPPORT) == "SPI"
327 PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
328 TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
329 S3BootScriptLib|MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf
330 MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf
331!endif
332 VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
333 VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
334 VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
335 VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
336 CcExitLib|UefiCpuPkg/Library/CcExitLibNull/CcExitLibNull.inf
337 AmdSvsmLib|UefiCpuPkg/Library/AmdSvsmLibNull/AmdSvsmLibNull.inf
338 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
339 FdtLib|MdePkg/Library/BaseFdtLib/BaseFdtLib.inf
340 SmmRelocationLib|UefiCpuPkg/Library/SmmRelocationLib/SmmRelocationLib.inf
341 HobPrintLib|MdeModulePkg/Library/HobPrintLib/HobPrintLib.inf
342 BuildFdtLib|UefiPayloadPkg/Library/BuildFdtLib/BuildFdtLib.inf
343
344[LibraryClasses.common]
345!if $(BOOTSPLASH_IMAGE)
346 SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
347 BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
348!endif
349
350[LibraryClasses.X64]
351 #
352 # CPU
353 #
354 MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf
355 LocalApicLib|UefiCpuPkg/Library/BaseXApicX2ApicLib/BaseXApicX2ApicLib.inf
356 MicrocodeLib|UefiCpuPkg/Library/MicrocodeLib/MicrocodeLib.inf
357 IoApicLib|PcAtChipsetPkg/Library/BaseIoApicLib/BaseIoApicLib.inf
358!if $(CPU_TIMER_LIB_ENABLE) == TRUE && $(UNIVERSAL_PAYLOAD) == TRUE
359 TimerLib|UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf
360!else
361 TimerLib|UefiPayloadPkg/Library/AcpiTimerLib/AcpiTimerLib.inf
362!endif
363 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
364 CpuPageTableLib|UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf
365
366[LibraryClasses.common.SEC]
367 HobLib|UefiPayloadPkg/Library/PayloadEntryHobLib/HobLib.inf
368 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
369 DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf
370 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
371!if $(MULTIPLE_DEBUG_PORT_SUPPORT) == TRUE
372 SerialPortLib|UefiPayloadPkg/Library/BaseSerialPortLibHob/BaseSerialPortLibHob.inf
373!endif
374
375[LibraryClasses.common.DXE_CORE]
376 DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf
377 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
378 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
379 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
380 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
381 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
382
383[LibraryClasses.X64.DXE_CORE]
384!if $(SOURCE_DEBUG_ENABLE)
385 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
386!endif
387 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
388!if $(PERFORMANCE_MEASUREMENT_ENABLE)
389 PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
390!endif
391
392[LibraryClasses.common.DXE_DRIVER]
393 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
394 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
395 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
396 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
397
398[LibraryClasses.X64.DXE_DRIVER]
399 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
400 MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
401!if $(SOURCE_DEBUG_ENABLE)
402 DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf
403!endif
404 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
405 MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
406!if $(PERFORMANCE_MEASUREMENT_ENABLE)
407 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
408!endif
409
410[LibraryClasses.common.DXE_RUNTIME_DRIVER]
411!if $(SECURE_BOOT_ENABLE) == TRUE
412 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
413!endif
414 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
415 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
416 ReportStatusCodeLib|MdeModulePkg/Library/RuntimeDxeReportStatusCodeLib/RuntimeDxeReportStatusCodeLib.inf
417 VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
418!if $(PERFORMANCE_MEASUREMENT_ENABLE)
419 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
420!endif
421
422[LibraryClasses.common.UEFI_DRIVER,LibraryClasses.common.UEFI_APPLICATION]
423 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
424 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
425 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
426!if $(PERFORMANCE_MEASUREMENT_ENABLE)
427 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
428!endif
429
430[LibraryClasses.X64.SMM_CORE]
431!if $(SMM_SUPPORT) == TRUE
432 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
433 SmmServicesTableLib|MdeModulePkg/Library/PiSmmCoreSmmServicesTableLib/PiSmmCoreSmmServicesTableLib.inf
434
435 MemoryAllocationLib|MdeModulePkg/Library/PiSmmCoreMemoryAllocationLib/PiSmmCoreMemoryAllocationLib.inf
436 SmmCorePlatformHookLib|MdeModulePkg/Library/SmmCorePlatformHookLibNull/SmmCorePlatformHookLibNull.inf
437 SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
438 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
439!if $(PERFORMANCE_MEASUREMENT_ENABLE)
440 PerformanceLib|MdeModulePkg/Library/SmmCorePerformanceLib/SmmCorePerformanceLib.inf
441!endif
442!endif
443
444[LibraryClasses.X64.DXE_SMM_DRIVER]
445!if $(SMM_SUPPORT) == TRUE
446 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
447
448 MemoryAllocationLib|MdePkg/Library/SmmMemoryAllocationLib/SmmMemoryAllocationLib.inf
449 SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf
450 SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf
451 MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf
452 DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
453 SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf
454 SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf
455 CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf
456 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
457 SmmCpuRendezvousLib|UefiCpuPkg/Library/SmmCpuRendezvousLib/SmmCpuRendezvousLib.inf
458!if $(PERFORMANCE_MEASUREMENT_ENABLE)
459 PerformanceLib|MdeModulePkg/Library/SmmPerformanceLib/SmmPerformanceLib.inf
460!endif
461!endif
462!if $(VARIABLE_SUPPORT) == "SPI"
463 SpiFlashLib|UefiPayloadPkg/Library/SpiFlashLib/SpiFlashLib.inf
464 FlashDeviceLib|UefiPayloadPkg/Library/FlashDeviceLib/FlashDeviceLib.inf
465 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf
466!endif
467
468################################################################################
469#
470# Pcd Section - list of all EDK II PCD Entries defined by this Platform.
471#
472################################################################################
473[PcdsFeatureFlag]
474 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
475 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
476 ## This PCD specified whether ACPI SDT protocol is installed.
477 gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
478 gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
479 gEfiMdeModulePkgTokenSpaceGuid.PcdPciDegradeResourceForOptionRom|FALSE
480
481[PcdsFeatureFlag.X64]
482 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode|TRUE
483 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmEnableBspElection|FALSE
484
485[PcdsFixedAtBuild]
486 gEfiMdePkgTokenSpaceGuid.PcdHardwareErrorRecordLevel|1
487 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x10000
488 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxHardwareErrorVariableSize|0x8000
489 gEfiMdeModulePkgTokenSpaceGuid.PcdVariableStoreSize|0x10000
490!if $(VARIABLE_SUPPORT) == "EMU"
491 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable |TRUE
492!else
493 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable |FALSE
494!endif
495
496 gEfiMdeModulePkgTokenSpaceGuid.PcdVpdBaseAddress|0x0
497 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE
498 gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
499 gUefiPayloadPkgTokenSpaceGuid.PcdHandOffFdtEnable|FALSE
500
501
502 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
503 gUefiPayloadPkgTokenSpaceGuid.PcdPcdDriverFile|{ 0x57, 0x72, 0xcf, 0x80, 0xab, 0x87, 0xf9, 0x47, 0xa3, 0xfe, 0xD5, 0x0B, 0x76, 0xd8, 0x95, 0x41 }
504
505!if $(SOURCE_DEBUG_ENABLE)
506 gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
507!endif
508 gUefiCpuPkgTokenSpaceGuid.PcdCpuSmmStackSize|0x4000
509 gEfiMdeModulePkgTokenSpaceGuid.PcdEdkiiFpdtStringRecordEnableOnly| TRUE
510!if $(PERFORMANCE_MEASUREMENT_ENABLE)
511 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask | 0x1
512!endif
513 gEfiMdeModulePkgTokenSpaceGuid.PcdSdMmcGenericTimeoutValue|$(SD_MMC_TIMEOUT)
514
515 gUefiPayloadPkgTokenSpaceGuid.PcdBootManagerEscape|$(BOOT_MANAGER_ESCAPE)
516
517 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1800000
518
519!if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
520!if $(CRYPTO_DRIVER_EXTERNAL_SUPPORT) == FALSE
521 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.HmacSha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
522 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Md5.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
523 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Pkcs.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
524 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Dh.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
525 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Random.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
526 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Rsa.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
527 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha1.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
528 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha256.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
529 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha384.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
530 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sha512.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
531 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.X509.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
532 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.GetContextSize | TRUE
533 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.Init | TRUE
534 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcEncrypt | TRUE
535 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Aes.Services.CbcDecrypt | TRUE
536 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Sm3.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
537 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Hkdf.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
538 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.Tls.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
539 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsSet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
540 gEfiCryptoPkgTokenSpaceGuid.PcdCryptoServiceFamilyEnable.TlsGet.Family | PCD_CRYPTO_SERVICE_ENABLE_FAMILY
541!endif
542!endif
543
544
545!if $(SECURE_BOOT_ENABLE) == TRUE
546 # Override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
547 gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
548 gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
549 gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
550!endif
551
552[PcdsPatchableInModule.X64]
553!if $(NETWORK_DRIVER_ENABLE) == TRUE
554 gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections|TRUE
555!endif
556 gUefiPayloadPkgTokenSpaceGuid.SizeOfIoSpace|16
557 gUefiPayloadPkgTokenSpaceGuid.PcdFDTPageSize|8
558
559[PcdsPatchableInModule.common]
560 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
561 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x7
562 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
563!if $(USE_CBMEM_FOR_CONSOLE) == FALSE
564 !if $(SOURCE_DEBUG_ENABLE)
565 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
566 !else
567 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2F
568 !endif
569!else
570 !if $(TARGET) == DEBUG
571 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x07
572 !else
573 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x03
574 !endif
575!endif
576 gEfiMdeModulePkgTokenSpaceGuid.PcdMaxSizeNonPopulateCapsule|$(MAX_SIZE_NON_POPULATE_CAPSULE)
577 #
578 # The following parameters are set by Library/PlatformHookLib
579 #
580 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseMmio|FALSE
581 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x3F8
582 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialBaudRate|$(BAUD_RATE)
583 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterStride|1
584
585 #
586 # Enable these parameters to be set on the command line
587 #
588 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialClockRate|$(SERIAL_CLOCK_RATE)
589 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialLineControl|$(SERIAL_LINE_CONTROL)
590 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialUseHardwareFlowControl|$(SERIAL_HARDWARE_FLOW_CONTROL)
591 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialDetectCable|$(SERIAL_DETECT_CABLE)
592 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialFifoControl|$(SERIAL_FIFO_CONTROL)
593
594 gEfiMdeModulePkgTokenSpaceGuid.PcdPciSerialParameters|$(PCI_SERIAL_PARAMETERS)
595
596 gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|$(MAX_LOGICAL_PROCESSORS)
597 gUefiCpuPkgTokenSpaceGuid.PcdCpuNumberOfReservedVariableMtrrs|0
598 gUefiPayloadPkgTokenSpaceGuid.PcdBootloaderParameter|0
599
600################################################################################
601#
602# Pcd DynamicEx Section - list of all EDK II PCD Entries defined by this Platform
603#
604################################################################################
605
606[PcdsDynamicExDefault]
607 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|$(UART_DEFAULT_BAUD_RATE)
608 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits|$(UART_DEFAULT_DATA_BITS)
609 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity|$(UART_DEFAULT_PARITY)
610 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits|$(UART_DEFAULT_STOP_BITS)
611 gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|$(DEFAULT_TERMINAL_TYPE)
612 gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport|TRUE
613 gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport|FALSE
614 gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSupport|TRUE
615 gEfiMdeModulePkgTokenSpaceGuid.PcdPcieResizableBarSupport|FALSE
616 gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize|0x1
617 gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds|50000
618 gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode|1
619 gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress|0x0
620 gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize|0x0
621!if ($(TARGET) == DEBUG || $(USE_CBMEM_FOR_CONSOLE) == TRUE)
622 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|TRUE
623!else
624 gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseSerial|FALSE
625!endif
626 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
627 gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
628 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
629 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
630 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
631 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|$(PLATFORM_BOOT_TIMEOUT)
632!if $(VARIABLE_SUPPORT) == "SPI"
633 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize |0
634 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingSize|0
635 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize |0
636 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase |0
637!endif
638 # Disable SMM S3 script
639 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
640
641 ## This PCD defines the video horizontal resolution.
642 # This PCD could be set to 0 then video resolution could be at highest resolution.
643 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|0
644 ## This PCD defines the video vertical resolution.
645 # This PCD could be set to 0 then video resolution could be at highest resolution.
646 gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|0
647
648 ## The PCD is used to specify the video horizontal resolution of text setup.
649 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|0
650 ## The PCD is used to specify the video vertical resolution of text setup.
651 gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|0
652
653 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|31
654 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|100
655 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0
656 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseSize|0
657 gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase|0
658 gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE
659 gUefiCpuPkgTokenSpaceGuid.PcdSevEsIsEnabled|0
660 gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
661
662 gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister|$(RTC_INDEX_REGISTER)
663 gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister|$(RTC_TARGET_REGISTER)
664
665################################################################################
666#
667# Components Section - list of all EDK II Modules needed by this Platform.
668#
669################################################################################
670
671!if "IA32" in "$(ARCH)"
672 [Components.IA32]
673 !if $(UNIVERSAL_PAYLOAD) == TRUE
674 !if $(UNIVERSAL_PAYLOAD_FORMAT) == "ELF"
675 UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
676 !elseif $(UNIVERSAL_PAYLOAD_FORMAT) == "FIT"
677 UefiPayloadPkg/UefiPayloadEntry/FitUniversalPayloadEntry.inf {
678 <LibraryClasses>
679 !if gUefiPayloadPkgTokenSpaceGuid.PcdHandOffFdtEnable == TRUE
680 FdtLib|MdePkg/Library/BaseFdtLib/BaseFdtLib.inf
681 CustomFdtNodeParserLib|UefiPayloadPkg/Library/CustomFdtNodeParserLib/CustomFdtNodeParserLib.inf
682 NULL|UefiPayloadPkg/Library/FdtParserLib/FdtParseLib.inf
683 !endif
684 NULL|UefiPayloadPkg/Library/HobParseLib/HobParseLib.inf
685 }
686 !else
687 UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
688 !endif
689 !else
690 UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
691 !endif
692!else
693 [Components.X64]
694 !if $(UNIVERSAL_PAYLOAD) == TRUE
695 !if $(UNIVERSAL_PAYLOAD_FORMAT) == "ELF"
696 UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf
697 !elseif $(UNIVERSAL_PAYLOAD_FORMAT) == "FIT"
698 UefiPayloadPkg/UefiPayloadEntry/FitUniversalPayloadEntry.inf {
699 <LibraryClasses>
700 !if gUefiPayloadPkgTokenSpaceGuid.PcdHandOffFdtEnable == TRUE
701 FdtLib|MdePkg/Library/BaseFdtLib/BaseFdtLib.inf
702 CustomFdtNodeParserLib|UefiPayloadPkg/Library/CustomFdtNodeParserLib/CustomFdtNodeParserLib.inf
703 NULL|UefiPayloadPkg/Library/FdtParserLib/FdtParseLib.inf
704 !endif
705 NULL|UefiPayloadPkg/Library/HobParseLib/HobParseLib.inf
706 }
707 !else
708 UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
709 !endif
710 !else
711 UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
712 !endif
713!endif
714
715#
716# UEFI network modules
717#
718!if $(NETWORK_DRIVER_ENABLE) == TRUE
719[Defines]
720 DEFINE PLATFORMX64_ENABLE = TRUE
721 !include NetworkPkg/Network.dsc.inc
722!endif
723
724[Components.X64]
725 #
726 # DXE Core
727 #
728 MdeModulePkg/Core/Dxe/DxeMain.inf {
729 <LibraryClasses>
730 !if $(MULTIPLE_DEBUG_PORT_SUPPORT) == TRUE
731 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
732 SerialPortLib|UefiPayloadPkg/Library/BaseSerialPortLibHob/DxeBaseSerialPortLibHob.inf
733 !endif
734 NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
735 }
736
737 #
738 # Components that produce the architectural protocols
739 #
740!if $(SECURITY_STUB_ENABLE) == TRUE
741 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
742 <LibraryClasses>
743!if $(SECURE_BOOT_ENABLE) == TRUE
744 NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
745!endif
746 }
747!endif
748
749!if $(SECURE_BOOT_ENABLE) == TRUE
750 SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
751!endif
752
753 UefiCpuPkg/CpuDxe/CpuDxe.inf
754 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
755!if $(BOOTSPLASH_IMAGE)
756 MdeModulePkg/Logo/LogoDxe.inf
757!endif
758 MdeModulePkg/Application/UiApp/UiApp.inf {
759 <LibraryClasses>
760 NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
761 NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
762 NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
763 }
764 MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
765
766
767!if $(TIMER_SUPPORT) == "HPET"
768 PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
769!elseif $(TIMER_SUPPORT) == "LAPIC"
770 OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf {
771 <LibraryClasses>
772 NestedInterruptTplLib|OvmfPkg/Library/NestedInterruptTplLib/NestedInterruptTplLib.inf
773 }
774!else
775 !error "Invalid TIMER_SUPPORT"
776!endif
777
778 MdeModulePkg/Universal/Metronome/Metronome.inf
779 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
780 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
781 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
782 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
783!if $(DISABLE_RESET_SYSTEM) == FALSE
784 MdeModulePkg/Universal/ResetSystemRuntimeDxe/ResetSystemRuntimeDxe.inf
785!endif
786 PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
787!if $(EMU_VARIABLE_ENABLE) == TRUE
788 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
789!endif
790 #
791 # Following are the DXE drivers
792 #
793 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
794 <LibraryClasses>
795 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
796 }
797
798 MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
799 MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf
800 UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
801 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
802!if $(MEMORY_TEST) == "GENERIC"
803 MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf
804!elseif $(MEMORY_TEST) == "NULL"
805 MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
806!endif
807 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
808 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
809 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
810 MdeModulePkg/Universal/PlatformDriOverrideDxe/PlatformDriOverrideDxe.inf
811 MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
812
813 UefiPayloadPkg/BlSupportDxe/BlSupportDxe.inf
814
815 #
816 # SMBIOS Support
817 #
818 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf
819
820 #
821 # ACPI Support
822 #
823 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
824!if $(BOOTSPLASH_IMAGE)
825 MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
826 MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
827!endif
828
829 #
830 # PCI Support
831 #
832 MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf
833 MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {
834 <LibraryClasses>
835 PciHostBridgeLib|UefiPayloadPkg/Library/PciHostBridgeLib/PciHostBridgeLib.inf
836 }
837
838 #
839 # SCSI/ATA/IDE/DISK Support
840 #
841 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
842 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
843 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
844 FatPkg/EnhancedFatDxe/Fat.inf
845!if $(ATA_ENABLE) == TRUE
846 MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
847 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
848!endif
849 MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
850 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
851 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
852!if $(NVME_ENABLE) == TRUE
853 MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
854!endif
855
856!if $(RAM_DISK_ENABLE) == TRUE
857 MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
858!endif
859 #
860 # SD/eMMC Support
861 #
862!if $(SD_ENABLE) == TRUE
863 MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf
864 MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf
865 MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf
866!endif
867
868 #
869 # Usb Support
870 #
871 MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
872 MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
873 MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
874 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
875 MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
876 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
877 MdeModulePkg/Bus/Usb/UsbMouseDxe/UsbMouseDxe.inf
878
879 #
880 # ISA Support
881 #
882!if $(SERIAL_DRIVER_ENABLE) == TRUE
883 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
884!endif
885!if $(SIO_BUS_ENABLE) == TRUE
886 OvmfPkg/SioBusDxe/SioBusDxe.inf
887!endif
888!if $(PS2_KEYBOARD_ENABLE) == TRUE
889 MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf
890!endif
891!if $(PS2_MOUSE_ENABLE) == TRUE
892 MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf
893!endif
894
895 #
896 # Console Support
897 #
898 MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
899 MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
900 MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
901!if $(DISABLE_SERIAL_TERMINAL) == FALSE
902 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
903!endif
904 UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf
905!if $(PERFORMANCE_MEASUREMENT_ENABLE)
906 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf
907!endif
908 #
909 # SMM Support
910 #
911!if $(SMM_SUPPORT) == TRUE
912 UefiPayloadPkg/SmmAccessDxe/SmmAccessDxe.inf
913 UefiPayloadPkg/SmmControlRuntimeDxe/SmmControlRuntimeDxe.inf
914 UefiPayloadPkg/BlSupportSmm/BlSupportSmm.inf
915 MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf
916 MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf
917 UefiPayloadPkg/PchSmiDispatchSmm/PchSmiDispatchSmm.inf
918 UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf
919 UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
920!if $(PERFORMANCE_MEASUREMENT_ENABLE)
921 MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf
922!endif
923!endif
924
925!if $(VARIABLE_SUPPORT) == "EMU"
926 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
927!elseif $(VARIABLE_SUPPORT) == "SPI"
928 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf {
929 <LibraryClasses>
930 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
931 NULL|MdeModulePkg/Library/VarCheckHiiLib/VarCheckHiiLib.inf
932 NULL|MdeModulePkg/Library/VarCheckPcdLib/VarCheckPcdLib.inf
933 NULL|MdeModulePkg/Library/VarCheckPolicyLib/VarCheckPolicyLib.inf
934 }
935
936 UefiPayloadPkg/FvbRuntimeDxe/FvbSmm.inf
937 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf
938 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmmRuntimeDxe.inf
939!endif
940
941 #
942 # Misc
943 #
944!if $(CRYPTO_PROTOCOL_SUPPORT) == TRUE
945!if $(CRYPTO_DRIVER_EXTERNAL_SUPPORT) == FALSE
946 CryptoPkg/Driver/CryptoDxe.inf {
947 <LibraryClasses>
948 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
949 TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
950 }
951!endif
952!endif
953
954 #------------------------------
955 # Build the shell
956 #------------------------------
957
958!if $(SHELL_TYPE) == BUILD_SHELL
959
960 #
961 # Shell Lib
962 #
963[LibraryClasses]
964 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
965 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
966 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
967 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
968 !include NetworkPkg/NetworkLibs.dsc.inc
969
970[Components.X64]
971 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
972 <PcdsFixedAtBuild>
973 ## This flag is used to control initialization of the shell library
974 # This should be FALSE for compiling the dynamic command.
975 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
976 }
977!if $(PERFORMANCE_MEASUREMENT_ENABLE) == TRUE
978 ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {
979 <PcdsFixedAtBuild>
980 ## This flag is used to control initialization of the shell library
981 # This should be FALSE for compiling the dynamic command.
982 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
983 }
984!endif
985 ShellPkg/Application/Shell/Shell.inf {
986 <PcdsFixedAtBuild>
987 ## This flag is used to control initialization of the shell library
988 # This should be FALSE for compiling the shell application itself only.
989 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
990
991 #------------------------------
992 # Basic commands
993 #------------------------------
994
995 <LibraryClasses>
996 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
997 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
998 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
999 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
1000 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
1001 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
1002
1003 #------------------------------
1004 # Networking commands
1005 #------------------------------
1006
1007 <LibraryClasses>
1008 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
1009
1010 #------------------------------
1011 # Support libraries
1012 #------------------------------
1013
1014 <LibraryClasses>
1015 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
1016 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
1017 OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
1018 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
1019 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
1020 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
1021 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
1022 }
1023
1024!endif
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette