]> git.proxmox.com Git - mirror_edk2.git/blob - ArmVirtPkg/ArmVirt.dsc.inc
MdeModulePkg/HiiImage: Fix stack overflow when corrupted BMP is parsed (CVE-2018...
[mirror_edk2.git] / ArmVirtPkg / ArmVirt.dsc.inc
1 #
2 # Copyright (c) 2011-2015, 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 #
6 # This program and the accompanying materials
7 # are licensed and made available under the terms and conditions of the BSD License
8 # which accompanies this distribution. The full text of the license may be found at
9 # http://opensource.org/licenses/bsd-license.php
10 #
11 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 #
14 #
15
16 [Defines]
17 DEFINE DEBUG_PRINT_ERROR_LEVEL = 0x8000004F
18
19 [BuildOptions.common.EDKII.DXE_CORE,BuildOptions.common.EDKII.DXE_DRIVER,BuildOptions.common.EDKII.UEFI_DRIVER,BuildOptions.common.EDKII.UEFI_APPLICATION]
20 GCC:*_*_*_DLINK_FLAGS = -z common-page-size=0x1000
21
22 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
23 GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000
24 GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
25 RVCT:*_*_ARM_DLINK_FLAGS = --scatter $(EDK_TOOLS_PATH)/Scripts/Rvct-Align4K.sct
26
27 [LibraryClasses.common]
28 !if $(TARGET) == RELEASE
29 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
30 !else
31 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
32 !endif
33 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
34
35 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
36 SafeIntLib|MdePkg/Library/BaseSafeIntLib/BaseSafeIntLib.inf
37 BmpSupportLib|MdeModulePkg/Library/BaseBmpSupportLib/BaseBmpSupportLib.inf
38 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
39 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
40 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
41 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
42 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
43 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsicArmVirt.inf
44 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
45 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
46
47 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
48 HobLib|ArmVirtPkg/Library/ArmVirtDxeHobLib/ArmVirtDxeHobLib.inf
49 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
50 DevicePathLib|MdePkg/Library/UefiDevicePathLibDevicePathProtocol/UefiDevicePathLibDevicePathProtocol.inf
51 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
52 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
53 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
54 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
55 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
56 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
57 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
58 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
59 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
60 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
61
62 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
63 OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
64
65 #
66 # Ramdisk Requirements
67 #
68 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
69
70 # Allow dynamic PCDs
71 #
72 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
73
74 # use the accelerated BaseMemoryLibOptDxe by default, overrides for SEC/PEI below
75 BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
76
77 # Networking Requirements
78 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
79 DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
80 UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
81 IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
82 TcpIoLib|MdeModulePkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
83 !if $(HTTP_BOOT_ENABLE) == TRUE
84 HttpLib|MdeModulePkg/Library/DxeHttpLib/DxeHttpLib.inf
85 !endif
86
87 #
88 # It is not possible to prevent the ARM compiler from inserting calls to intrinsic functions.
89 # This library provides the instrinsic functions such a compiler may generate calls to.
90 #
91 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
92
93 # Add support for GCC stack protector
94 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
95
96 # ARM Architectural Libraries
97 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
98 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
99 CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
100 ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
101 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
102 ArmGicArchLib|ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf
103 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
104 ArmHvcLib|ArmPkg/Library/ArmHvcLib/ArmHvcLib.inf
105 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerVirtCounterLib/ArmGenericTimerVirtCounterLib.inf
106
107 PlatformPeiLib|ArmVirtPkg/Library/PlatformPeiLib/PlatformPeiLib.inf
108 MemoryInitPeiLib|ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf
109 ResetSystemLib|ArmVirtPkg/Library/ArmVirtPsciResetSystemLib/ArmVirtPsciResetSystemLib.inf
110
111 # ARM PL031 RTC Driver
112 RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf
113 TimeBaseLib|EmbeddedPkg/Library/TimeBaseLib/TimeBaseLib.inf
114 # ARM PL011 UART Driver
115 PL011UartLib|ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf
116 SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/FdtPL011SerialPortLib.inf
117
118 #
119 # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
120 # in the debugger will show load and unload commands for symbols. You can cut and paste this
121 # into the command window to load symbols. We should be able to use a script to do this, but
122 # the version of RVD I have does not support scripts accessing system memory.
123 #
124 #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
125 PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
126 #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
127
128 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
129 DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
130
131 # Flattened Device Tree (FDT) access library
132 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
133
134 # PCI Libraries
135 PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf
136 PciExpressLib|ArmVirtPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf
137 PciCapLib|OvmfPkg/Library/BasePciCapLib/BasePciCapLib.inf
138 PciCapPciSegmentLib|OvmfPkg/Library/BasePciCapPciSegmentLib/BasePciCapPciSegmentLib.inf
139 PciCapPciIoLib|OvmfPkg/Library/UefiPciCapPciIoLib/UefiPciCapPciIoLib.inf
140
141 # USB Libraries
142 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf
143
144 XenIoMmioLib|OvmfPkg/Library/XenIoMmioLib/XenIoMmioLib.inf
145
146 #
147 # CryptoPkg libraries needed by multiple firmware features
148 #
149 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
150 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
151 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
152
153 #
154 # Secure Boot dependencies
155 #
156 !if $(SECURE_BOOT_ENABLE) == TRUE
157 TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
158 AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
159
160 # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
161 PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
162 !else
163 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
164 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
165 !endif
166 VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
167 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
168
169 ReportStatusCodeLib|MdePkg/Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.inf
170
171 [LibraryClasses.common.SEC]
172 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
173 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
174
175 DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
176 SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
177 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
178 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
179 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
180 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
181
182 [LibraryClasses.common.PEI_CORE]
183 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
184 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
185 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
186 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
187 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
188 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
189 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
190 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
191 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
192 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
193 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
194
195 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
196 SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
197
198 [LibraryClasses.common.PEIM]
199 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
200 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
201 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
202 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
203 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
204 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
205 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
206 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
207 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
208 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
209 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
210
211 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
212 SerialPortLib|ArmVirtPkg/Library/FdtPL011SerialPortLib/EarlyFdtPL011SerialPortLib.inf
213
214 [LibraryClasses.common.DXE_CORE]
215 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
216 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
217 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
218 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
219 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
220 PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
221
222 [LibraryClasses.common.DXE_DRIVER]
223 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
224 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
225 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
226
227 [LibraryClasses.common.UEFI_APPLICATION]
228 UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
229 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
230 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
231 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
232
233 [LibraryClasses.common.UEFI_DRIVER]
234 UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
235 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
236 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
237 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
238
239 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
240 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
241 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
242 !if $(TARGET) != RELEASE
243 DebugLib|MdePkg/Library/DxeRuntimeDebugLibSerialPort/DxeRuntimeDebugLibSerialPort.inf
244 !endif
245
246 !if $(SECURE_BOOT_ENABLE) == TRUE
247 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
248 !endif
249
250 [LibraryClasses.ARM]
251 ArmSoftFloatLib|ArmPkg/Library/ArmSoftFloatLib/ArmSoftFloatLib.inf
252
253 [BuildOptions]
254 RVCT:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
255
256 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
257
258 #
259 # Disable deprecated APIs.
260 #
261 RVCT:*_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
262 GCC:*_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
263
264 ################################################################################
265 #
266 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
267 #
268 ################################################################################
269
270 [PcdsFeatureFlag.common]
271 gEfiMdeModulePkgTokenSpaceGuid.PcdHiiOsRuntimeSupport|FALSE
272
273 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
274
275 [PcdsFeatureFlag.AARCH64]
276 #
277 # Activate AcpiSdtProtocol
278 #
279 gEfiMdeModulePkgTokenSpaceGuid.PcdInstallAcpiSdtProtocol|TRUE
280
281 [PcdsFixedAtBuild.common]
282 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
283 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
284 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
285 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
286 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
287
288 # DEBUG_ASSERT_ENABLED 0x01
289 # DEBUG_PRINT_ENABLED 0x02
290 # DEBUG_CODE_ENABLED 0x04
291 # CLEAR_MEMORY_ENABLED 0x08
292 # ASSERT_BREAKPOINT_ENABLED 0x10
293 # ASSERT_DEADLOOP_ENABLED 0x20
294 !if $(TARGET) == RELEASE
295 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
296 !else
297 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
298 !endif
299
300 # DEBUG_INIT 0x00000001 // Initialization
301 # DEBUG_WARN 0x00000002 // Warnings
302 # DEBUG_LOAD 0x00000004 // Load events
303 # DEBUG_FS 0x00000008 // EFI File system
304 # DEBUG_POOL 0x00000010 // Alloc & Free (pool)
305 # DEBUG_PAGE 0x00000020 // Alloc & Free (page)
306 # DEBUG_INFO 0x00000040 // Informational debug messages
307 # DEBUG_DISPATCH 0x00000080 // PEI/DXE/SMM Dispatchers
308 # DEBUG_VARIABLE 0x00000100 // Variable
309 # DEBUG_BM 0x00000400 // Boot Manager
310 # DEBUG_BLKIO 0x00001000 // BlkIo Driver
311 # DEBUG_NET 0x00004000 // SNP Driver
312 # DEBUG_UNDI 0x00010000 // UNDI Driver
313 # DEBUG_LOADFILE 0x00020000 // LoadFile
314 # DEBUG_EVENT 0x00080000 // Event messages
315 # DEBUG_GCD 0x00100000 // Global Coherency Database changes
316 # DEBUG_CACHE 0x00200000 // Memory range cachability changes
317 # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
318 # // significantly impact boot performance
319 # DEBUG_ERROR 0x80000000 // Error
320 !if $(TARGET) != RELEASE
321 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|$(DEBUG_PRINT_ERROR_LEVEL)
322 !endif
323
324 #
325 # Optional feature to help prevent EFI memory map fragments
326 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
327 # Values are in EFI Pages (4K). DXE Core will make sure that
328 # at least this much of each type of memory can be allocated
329 # from a single memory range. This way you only end up with
330 # maximum of two fragments for each type in the memory map
331 # (the memory used, and the free memory that was prereserved
332 # but not used).
333 #
334 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
335 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
336 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
337 !if $(SECURE_BOOT_ENABLE) == TRUE
338 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|600
339 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|400
340 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1500
341 !else
342 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|300
343 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|150
344 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|1000
345 !endif
346 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|12000
347 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
348 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
349
350 #
351 # Enable strict image permissions for all images. (This applies
352 # only to images that were built with >= 4 KB section alignment.)
353 #
354 gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy|0x3
355
356 #
357 # Enable NX memory protection for all non-code regions, including OEM and OS
358 # reserved ones, with the exception of LoaderData regions, of which OS loaders
359 # (i.e., GRUB) may assume that its contents are executable.
360 #
361 gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD1
362
363 [Components.common]
364 #
365 # Ramdisk support
366 #
367 MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
368
369 #
370 # UEFI application (Shell Embedded Boot Loader)
371 #
372 ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
373 <PcdsFixedAtBuild>
374 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
375 }
376 ShellPkg/Application/Shell/Shell.inf {
377 <LibraryClasses>
378 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
379 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
380 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
381 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
382 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
383 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
384 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
385 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
386 !if $(NETWORK_IP6_ENABLE) == TRUE
387 NULL|ShellPkg/Library/UefiShellNetwork2CommandsLib/UefiShellNetwork2CommandsLib.inf
388 !endif
389 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
390 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
391 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
392
393 <PcdsFixedAtBuild>
394 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
395 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
396 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000
397 }
398
399 [Components.AARCH64]
400 #
401 # ACPI Support
402 #
403 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf {
404 <LibraryClasses>
405 NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
406 }
407
408 #
409 # EBC support
410 #
411 MdeModulePkg/Universal/EbcDxe/EbcDxe.inf