VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/ArmVirtPkg/ArmVirt.dsc.inc

Last change on this file was 101433, checked in by vboxsync, 8 months ago

Devices/EFI/Firmware/ArmVirtPkg: Start using the VirtualBox Armv8 platform for getting at the FDT instead of relying on the hardcoded PcdDeviceTreeInitialBaseAddress PCD, bugref:10528

This requires disabling the early ID mapping feature (by switching away from ArmPlatformLibQemu to ArmPlatformLibNull) and keeping the MMU disabled until later because the page tables
are fixed and the location of the VirtualBox Armv8 platform descriptor is located at the end of the physical address range which can be different depending on the CPU, and MMIO and RAM regions
are dynamic as well. It is impossible to modify the page tables because they reside in the ROM region and can't be modified (and we don't know the base RAM region when it is activated).

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

© 2023 Oracle
ContactPrivacy policyTerms of Use