VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/ArmVirtPkg/ArmVirt.dsc.inc@ 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: 20.6 KB
Line 
1#
2# Copyright (c) 2011 - 2022, ARM Limited. All rights reserved.
3# Copyright (c) 2014, Linaro Limited. All rights reserved.
4# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.
5# Copyright (c) Microsoft Corporation.
6#
7# SPDX-License-Identifier: BSD-2-Clause-Patent
8#
9#
10
11[Defines]
12
13 #
14 # Shell can be useful for debugging but should not be enabled for production
15 #
16 DEFINE BUILD_SHELL = TRUE
17
18 DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F
19
20# Dynamic stack cookies pushes the FD size up slightly over 2MB
21!if $(TARGET) != NOOPT && $(ARCH) == ARM
22 DEFINE FD_SIZE_IN_MB = 2
23!else
24 DEFINE FD_SIZE_IN_MB = 3
25!endif
26
27!if $(FD_SIZE_IN_MB) == 2
28 DEFINE FD_SIZE = 0x200000
29 DEFINE FD_NUM_BLOCKS = 0x200
30!endif
31!if $(FD_SIZE_IN_MB) == 3
32 DEFINE FD_SIZE = 0x300000
33 DEFINE FD_NUM_BLOCKS = 0x300
34!endif
35
36# Dynamic stack cookies are not supported on ARM
37!if $(ARCH) == ARM
38 DEFINE CUSTOM_STACK_CHECK_LIB = STATIC
39!else
40 DEFINE CUSTOM_STACK_CHECK_LIB = DYNAMIC
41!endif
42
43[BuildOptions.common.EDKII.DXE_CORE,BuildOptions.common.EDKII.DXE_DRIVER,BuildOptions.common.EDKII.UEFI_DRIVER,BuildOptions.common.EDKII.UEFI_APPLICATION]
44 GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
45
46[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
47 GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000
48 GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
49
50!ifdef $(VBOX)
51[BuildOptions.Arm]
52 GCC:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=32 -DHC_ARCH_BITS=32 -DVBOX_REV=$(VBOX_REV)
53 GCC:*_*_*_ASM_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=32 -DHC_ARCH_BITS=32 -DVBOX_REV=$(VBOX_REV)
54 GCC:*_*_*_PP_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=32 -DHC_ARCH_BITS=32 -DVBOX_REV=$(VBOX_REV)
55 MSFT:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=32 -DHC_ARCH_BITS=32 -DVBOX_REV=$(VBOX_REV)
56 INTEL:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=32 -DHC_ARCH_BITS=32 -DVBOX_REV=$(VBOX_REV)
57[BuildOptions.AArch64]
58 GCC:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=64 -DHC_ARCH_BITS=64 -DVBOX_REV=$(VBOX_REV)
59 GCC:*_*_*_ASM_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=64 -DHC_ARCH_BITS=64 -DVBOX_REV=$(VBOX_REV)
60 GCC:*_*_*_PP_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=64 -DHC_ARCH_BITS=64 -DVBOX_REV=$(VBOX_REV)
61 MSFT:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=64 -DHC_ARCH_BITS=64 -DVBOX_REV=$(VBOX_REV)
62 INTEL:*_*_*_CC_FLAGS = -DVBOX -DIPRT_NO_CRT -DRT_OS_UEFI -DARCH_BITS=64 -DHC_ARCH_BITS=64 -DVBOX_REV=$(VBOX_REV)
63
64!ifdef $(SOURCE_DEBUG_ENABLE)
65 # Get much better source-level debugging
66 GCC:DEBUG_*_*_CC_FLAGS = -DVBOX_SOURCE_DEBUG_ENABLE
67 MSFT:DEBUG_*_*_CC_FLAGS = /Od -DVBOX_SOURCE_DEBUG_ENABLE
68 INTEL:DEBUG_*_*_CC_FLAGS = -DVBOX_SOURCE_DEBUG_ENABLE
69!endif
70
71!endif
72
73[LibraryClasses.common]
74!if $(TARGET) == RELEASE
75 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
76!else
77 DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DebugLibFdtPL011UartRam.inf
78!endif
79 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
80
81 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
82 SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
83 BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
84 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
85 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
86 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
87 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
88 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
89 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
90 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
91 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
92 ImagePropertiesRecordLib|MdeModulePkg/Library/ImagePropertiesRecordLib/ImagePropertiesRecordLib.inf
93
94 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
95 HobLib|ArmVirtPkg/Library/ArmVirtDxeHobLib/ArmVirtDxeHobLib.inf
96 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
97 DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
98 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
99 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
100 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
101 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
102 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
103 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
104
105!include OvmfPkg/Include/Dsc/ShellLibs.dsc.inc
106
107 ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
108 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
109
110 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
111 OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
112
113 #
114 # Ramdisk Requirements
115 #
116 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
117
118 # Allow dynamic PCDs
119 #
120 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
121
122 # use the accelerated BaseMemoryLibOptDxe by default, overrides for SEC/PEI below
123 BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
124
125 # Networking Requirements
126!include NetworkPkg/NetworkLibs.dsc.inc
127!if ($(NETWORK_TLS_ENABLE) == TRUE) AND ($(ARCH) == ARM)
128 !error "NETWORK_TLS_ENABLE is not supported on ARM build!"
129!endif
130
131 # ARM Architectural Libraries
132 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
133 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
134 CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
135 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
136 ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
137 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf
138
139 PlatformPeiLib|ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.inf
140 MemoryInitPeiLib|ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf
141 ResetSystemLib|ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf
142
143 # ARM PL031 RTC Driver
144 RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf
145 TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
146 # ARM PL011 UART Driver
147 PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
148 SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf
149 FdtSerialPortAddressLib|OvmfPkg/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.inf
150
151 PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
152 #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
153
154 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
155 DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
156
157 # Flattened Device Tree (FDT) access library
158 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
159
160 # PCI Libraries
161 PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
162 PciExpressLib|OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
163 PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
164 PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
165 PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
166 DxeHardwareInfoLib|OvmfPkg/Library/HardwareInfoLib/DxeHardwareInfoLib.inf
167
168 # USB Libraries
169 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
170
171 XenIoMmioLib|OvmfPkg/Library/XenIoMmioLib/XenIoMmioLib.inf
172
173 #
174 # CryptoPkg libraries needed by multiple firmware features
175 #
176 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
177!if $(NETWORK_TLS_ENABLE) == TRUE
178 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
179!else
180 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
181!endif
182 RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
183 ArmTrngLib|ArmPkg/Library/ArmTrngLib/ArmTrngLib.inf
184 ArmMonitorLib|ArmPkg/Library/ArmMonitorLib/ArmMonitorLib.inf
185
186 #
187 # Secure Boot dependencies
188 #
189!if $(SECURE_BOOT_ENABLE) == TRUE
190 AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
191 SecureBootVariableLib|SecurityPkg/Library/SecureBootVariableLib/SecureBootVariableLib.inf
192 SecureBootVariableProvisionLib|SecurityPkg/Library/SecureBootVariableProvisionLib/SecureBootVariableProvisionLib.inf
193 PlatformPKProtectionLib|SecurityPkg/Library/PlatformPKProtectionLibVarPolicy/PlatformPKProtectionLibVarPolicy.inf
194
195 # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
196 PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
197!else
198 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
199!endif
200 VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
201 VariableFlashInfoLib|MdeModulePkg/Library/BaseVariableFlashInfoLib/BaseVariableFlashInfoLib.inf
202 VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf
203 VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf
204 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
205
206 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
207
208!ifdef $(VBOX)
209 VBoxArmPlatformLib|VBoxPkg/Library/VBoxArmPlatformLib/VBoxArmPlatformLib.inf
210!endif
211
212[LibraryClasses.common.SEC]
213 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
214 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
215
216 DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
217 SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
218 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
219 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
220 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
221 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
222!if $(TARGET) != RELEASE
223 DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DebugLibFdtPL011UartFlash.inf
224!endif
225
226[LibraryClasses.common.PEI_CORE]
227 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
228 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
229 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
230 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
231 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
232 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
233 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
234 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
235 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
236 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
237
238 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
239 SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
240!if $(TARGET) != RELEASE
241 DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DebugLibFdtPL011UartFlash.inf
242!endif
243
244[LibraryClasses.common.PEIM]
245 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
246 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
247 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
248 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
249 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
250 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
251 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
252 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
253 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
254 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
255
256 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
257 SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
258!if $(TARGET) != RELEASE
259 DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DebugLibFdtPL011UartFlash.inf
260!endif
261
262[LibraryClasses.common.UEFI_DRIVER]
263 # resolve RngLib via RngDxe's EFI_RNG_PROTOCOL for UEFI_DRIVER type drivers such as TlsDxe
264 RngLib|MdePkg/Library/DxeRngLib/DxeRngLib.inf
265
266[LibraryClasses.common.DXE_CORE]
267 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
268 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
269 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
270 PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
271
272[LibraryClasses.common.DXE_DRIVER]
273 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
274 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
275 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
276
277[LibraryClasses.common.UEFI_APPLICATION]
278 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
279 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
280 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
281
282[LibraryClasses.common.UEFI_DRIVER]
283 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
284 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
285 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
286
287[LibraryClasses.common.DXE_RUNTIME_DRIVER]
288 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
289 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
290!if $(TARGET) != RELEASE
291 DebugLib|ArmVirtPkg/Library/DebugLibFdtPL011Uart/DxeRuntimeDebugLibFdtPL011Uart.inf
292!endif
293 VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLibRuntimeDxe.inf
294
295[LibraryClasses.AARCH64.DXE_RUNTIME_DRIVER]
296 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
297
298[LibraryClasses.ARM.DXE_RUNTIME_DRIVER]
299 BaseCryptLib|CryptoPkg/Library/BaseCryptLibMbedTls/RuntimeCryptLib.inf
300
301[LibraryClasses.AARCH64]
302 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
303 TlsLib|CryptoPkg/Library/TlsLib/TlsLib.inf
304
305[LibraryClasses.ARM]
306 BaseCryptLib|CryptoPkg/Library/BaseCryptLibMbedTls/BaseCryptLib.inf
307 MbedTlsLib|CryptoPkg/Library/MbedTlsLib/MbedTlsLib.inf
308 RngLib|MdePkg/Library/BaseRngLibTimerLib/BaseRngLibTimerLib.inf
309 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
310 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
311 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
312
313[BuildOptions]
314 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
315
316 #
317 # Disable deprecated APIs.
318 #
319 GCC:*_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
320
321################################################################################
322#
323# Pcd Section - list of all EDK II PCD Entries defined by this Platform
324#
325################################################################################
326
327[PcdsFeatureFlag.common]
328 gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
329
330 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
331
332[PcdsFeatureFlag.AARCH64]
333 #
334 # Activate AcpiSdtProtocol
335 #
336 gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
337
338[PcdsFixedAtBuild.common]
339 gArmTokenSpaceGuid.PcdMonitorConduitHvc|TRUE
340
341!ifdef $(FIRMWARE_VER)
342 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
343!endif
344
345 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
346 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
347 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|0
348 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
349 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
350
351 # DEBUG_ASSERT_ENABLED 0x01
352 # DEBUG_PRINT_ENABLED 0x02
353 # DEBUG_CODE_ENABLED 0x04
354 # CLEAR_MEMORY_ENABLED 0x08
355 # ASSERT_BREAKPOINT_ENABLED 0x10
356 # ASSERT_DEADLOOP_ENABLED 0x20
357!if $(TARGET) == RELEASE
358 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
359!else
360 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
361!endif
362
363 # DEBUG_INIT 0x00000001 // Initialization
364 # DEBUG_WARN 0x00000002 // Warnings
365 # DEBUG_LOAD 0x00000004 // Load events
366 # DEBUG_FS 0x00000008 // EFI File system
367 # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
368 # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
369 # DEBUG_INFO 0x00000040 // Informational debug messages
370 # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
371 # DEBUG_VARIABLE 0x00000100 // Variable
372 # DEBUG_BM 0x00000400 // Boot Manager
373 # DEBUG_BLKIO 0x00001000 // BlkIo Driver
374 # DEBUG_NET 0x00004000 // Network Io Driver
375 # DEBUG_UNDI 0x00010000 // UNDI Driver
376 # DEBUG_LOADFILE 0x00020000 // LoadFile
377 # DEBUG_EVENT 0x00080000 // Event messages
378 # DEBUG_GCD 0x00100000 // Global Coherency Database changes
379 # DEBUG_CACHE 0x00200000 // Memory range cachability changes
380 # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
381 # // significantly impact boot performance
382 # DEBUG_MANAGEABILITY 0x00800000 // Detailed debug and payload manageability messages
383 # // related to modules such as Redfish, IPMI, MCTP etc.
384 # DEBUG_ERROR 0x80000000 // Error
385!if $(TARGET) != RELEASE
386 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
387!endif
388
389 #
390 # Optional feature to help prevent EFI memory map fragments
391 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
392 # Values are in EFI Pages (4K). DXE Core will make sure that
393 # at least this much of each type of memory can be allocated
394 # from a single memory range. This way you only end up with
395 # maximum of two fragments for each type in the memory map
396 # (the memory used, and the free memory that was prereserved
397 # but not used).
398 #
399 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
400 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
401 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
402!if $(SECURE_BOOT_ENABLE) == TRUE
403 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
404 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
405 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
406!else
407 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
408 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
409 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
410!endif
411 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|12000
412 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
413 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
414
415 #
416 # Enable strict image permissions for all images. (This applies
417 # only to images that were built with >= 4 KB section alignment.)
418 #
419 gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
420
421 #
422 # Enable NX memory protection for all non-code regions, including OEM and OS
423 # reserved ones.
424 # By passing --pcd PcdDxeNxMemoryProtectionPolicy=0xC000000000007FD1 on the
425 # build command line you can allow code execution in EfiLoaderData. This is
426 # required when using some outdated GRUB versions.
427 #
428!ifdef $(VBOX)
429 #
430 # The default protection includes EfiLoaderData which older grub bootloaders
431 # fail to boot with because they assume being able to execute code from such memory
432 # regions. So don't apply the NX protection there.
433 #
434 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD1
435!else
436 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5
437!endif
438
439 gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard|TRUE
440
441[Components.common]
442 #
443 # Ramdisk support
444 #
445 MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
446
447!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
448
449[Components.AARCH64]
450 #
451 # ACPI Support
452 #
453 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {
454 <LibraryClasses>
455 NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
456 }
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