]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc
MdeModulePkg: DxeCore: fully initialize image context before passing it on
[mirror_edk2.git] / ArmPlatformPkg / ArmVExpressPkg / ArmVExpress.dsc.inc
1 #
2 # Copyright (c) 2011-2015, ARM Limited. All rights reserved.
3 # Copyright (c) 2015, Intel Corporation. All rights reserved.
4 #
5 # This program and the accompanying materials
6 # are licensed and made available under the terms and conditions of the BSD License
7 # which accompanies this distribution. The full text of the license may be found at
8 # http://opensource.org/licenses/bsd-license.php
9 #
10 # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 #
13 #
14
15 [Defines]
16 USE_ARM_BDS = FALSE
17 SECURE_BOOT_ENABLE = FALSE
18
19 [BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
20 GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000
21 GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000
22
23 [LibraryClasses.common]
24 !if $(TARGET) == RELEASE
25 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
26 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
27 !else
28 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
29 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
30 # UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
31 !endif
32 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
33
34 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
35 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
36 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
37 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
38 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
39 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
40 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
41 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
42 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
43
44 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
45 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
46 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
47 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
48 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
49 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
50 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
51 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
52 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
53 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
54
55 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
56
57 #
58 # Assume everything is fixed at build
59 #
60 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
61
62 # 1/123 faster than Stm or Vstm version
63 #BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
64 BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
65
66 # Networking Requirements
67 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
68 DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
69 UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
70 IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
71
72 # ARM Architectural Libraries
73 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
74 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
75 CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf
76 ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
77 DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
78 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
79 ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
80 ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
81 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
82 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
83
84 # Versatile Express Specific Libraries
85 PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
86 ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
87 NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
88 EfiResetSystemLib|ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf
89 # ARM PL111 Lcd Driver
90 LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
91 # ARM PL031 RTC Driver
92 RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf
93 # ARM PL354 SMC Driver
94 PL35xSmcLib|ArmPlatformPkg/Drivers/PL35xSmc/PL35xSmc.inf
95 # ARM PL011 UART Driver
96 PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf
97 SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
98 # ARM SP804 Dual Timer Driver
99 TimerLib|ArmPlatformPkg/Library/SP804TimerLib/SP804TimerLib.inf
100
101 # EBL Related Libraries
102 EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf
103 EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
104 EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
105 EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
106
107 #
108 # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
109 # in the debugger will show load and unload commands for symbols. You can cut and paste this
110 # into the command window to load symbols. We should be able to use a script to do this, but
111 # the version of RVD I have does not support scripts accessing system memory.
112 #
113 #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
114 PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
115 #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
116
117 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
118 DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
119
120 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
121
122 # BDS Libraries
123 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
124
125 AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
126 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
127
128 # RunAxf support via Dynamic Shell Command protocol
129 # It uses the Shell libraries.
130 ArmShellCmdRunAxfLib|ArmPlatformPkg/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf.inf
131 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
132 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
133 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
134
135 #
136 # Secure Boot dependencies
137 #
138 !if $(SECURE_BOOT_ENABLE) == TRUE
139 IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
140 OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
141 TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
142 AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
143 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
144
145 # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
146 PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
147 !else
148 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
149 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
150 !endif
151 VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
152
153 !if $(USE_ARM_BDS) == FALSE
154 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
155 GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf
156 PlatformBdsLib|ArmPlatformPkg/Library/PlatformIntelBdsLib/PlatformIntelBdsLib.inf
157 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
158 !endif
159
160 [LibraryClasses.common.SEC]
161 ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf
162
163 DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
164 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf
165
166 !ifdef $(EDK2_SKIP_PEICORE)
167 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
168 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
169 LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
170 MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
171 HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
172 PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
173 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
174 !endif
175
176 # Trustzone Support
177 ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf
178
179 ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf
180
181 [LibraryClasses.common.PEI_CORE]
182 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
183 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
184 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
185 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
186 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
187 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
188 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
189 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
190 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
191 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
192
193 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
194
195 [LibraryClasses.common.PEIM]
196 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
197 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
198 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
199 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
200 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
201 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
202 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
203 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
204 PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
205 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
206 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
207
208 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
209
210 [LibraryClasses.common.SEC, LibraryClasses.common.PEIM]
211 MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
212
213 [LibraryClasses.common.DXE_CORE]
214 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
215 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
216 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
217 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
218 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
219 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
220 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
221 PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
222
223 [LibraryClasses.common.DXE_DRIVER]
224 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
225 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
226 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
227 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
228 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
229
230 [LibraryClasses.common.UEFI_APPLICATION]
231 UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
232 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
233 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
234 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
235
236 [LibraryClasses.common.UEFI_DRIVER]
237 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
238 UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
239 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
240 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
241 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
242 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
243
244 [LibraryClasses.common.DXE_RUNTIME_DRIVER]
245 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
246 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
247 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
248 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
249 ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigRuntimeLib/ArmVExpressSysConfigRuntimeLib.inf
250 !if $(SECURE_BOOT_ENABLE) == TRUE
251 BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
252 !endif
253
254 [LibraryClasses.AARCH64.DXE_RUNTIME_DRIVER]
255 #
256 # PSCI support in EL3 may not be available if we are not running under a PSCI
257 # compliant secure firmware, but since the default VExpress EfiResetSystemLib
258 # cannot be supported at runtime (due to the fact that the syscfg MMIO registers
259 # cannot be runtime remapped), it is our best bet to get ResetSystem functionality
260 # on these platforms.
261 #
262 EfiResetSystemLib|ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf
263
264 [LibraryClasses.ARM, LibraryClasses.AARCH64]
265 #
266 # It is not possible to prevent the ARM compiler for generic intrinsic functions.
267 # This library provides the instrinsic functions generate by a given compiler.
268 # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
269 #
270 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
271
272 # Add support for GCC stack protector
273 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
274
275
276 [BuildOptions]
277 RVCT:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
278
279 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
280
281 ################################################################################
282 #
283 # Pcd Section - list of all EDK II PCD Entries defined by this Platform
284 #
285 ################################################################################
286
287 [PcdsFeatureFlag.common]
288 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
289 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
290 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
291 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
292
293 #
294 # Control what commands are supported from the UI
295 # Turn these on and off to add features or save size
296 #
297 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
298 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
299 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
300 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
301 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
302 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
303 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
304
305 gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
306
307 # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
308 gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
309
310 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
311
312 gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
313
314 [PcdsFixedAtBuild.common]
315 gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"
316 !ifdef $(FIRMWARE_VER)
317 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
318 !endif
319
320 gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"VExpress"
321 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
322 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
323 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
324 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
325 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
326 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
327 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
328 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
329
330 # DEBUG_ASSERT_ENABLED 0x01
331 # DEBUG_PRINT_ENABLED 0x02
332 # DEBUG_CODE_ENABLED 0x04
333 # CLEAR_MEMORY_ENABLED 0x08
334 # ASSERT_BREAKPOINT_ENABLED 0x10
335 # ASSERT_DEADLOOP_ENABLED 0x20
336 !if $(TARGET) == RELEASE
337 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
338 !else
339 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
340 !endif
341
342 # DEBUG_INIT 0x00000001 // Initialization
343 # DEBUG_WARN 0x00000002 // Warnings
344 # DEBUG_LOAD 0x00000004 // Load events
345 # DEBUG_FS 0x00000008 // EFI File system
346 # DEBUG_POOL 0x00000010 // Alloc & Free's
347 # DEBUG_PAGE 0x00000020 // Alloc & Free's
348 # DEBUG_INFO 0x00000040 // Verbose
349 # DEBUG_DISPATCH 0x00000080 // PEI/DXE Dispatchers
350 # DEBUG_VARIABLE 0x00000100 // Variable
351 # DEBUG_BM 0x00000400 // Boot Manager
352 # DEBUG_BLKIO 0x00001000 // BlkIo Driver
353 # DEBUG_NET 0x00004000 // SNI Driver
354 # DEBUG_UNDI 0x00010000 // UNDI Driver
355 # DEBUG_LOADFILE 0x00020000 // UNDI Driver
356 # DEBUG_EVENT 0x00080000 // Event messages
357 # DEBUG_GCD 0x00100000 // Global Coherency Database changes
358 # DEBUG_CACHE 0x00200000 // Memory range cachability changes
359 # DEBUG_ERROR 0x80000000 // Error
360 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
361
362 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
363
364 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
365 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
366 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
367
368 #
369 # Optional feature to help prevent EFI memory map fragments
370 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
371 # Values are in EFI Pages (4K). DXE Core will make sure that
372 # at least this much of each type of memory can be allocated
373 # from a single memory range. This way you only end up with
374 # maximum of two fragements for each type in the memory map
375 # (the memory used, and the free memory that was prereserved
376 # but not used).
377 #
378 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
379 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
380 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
381 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
382 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|65
383 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
384 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000
385 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
386 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
387
388 # Device path of block device on which Android Fastboot should flash
389 # partitions. We just use the SD card on VExpress.
390 gArmVExpressTokenSpaceGuid.PcdAndroidFastbootNvmDevicePath|L"VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)"
391
392 #
393 # ARM Pcds
394 #
395 gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000
396
397 #
398 # ARM PrimeCell
399 #
400
401 #
402 # FileSystem
403 #
404
405 # List of Device Paths that support BootMonFs
406 gArmPlatformTokenSpaceGuid.PcdBootMonFsSupportedDevicePaths|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59);VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)"
407
408 #
409 # ARM OS Loader
410 #
411 gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from NorFlash"
412 gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/Image"
413
414 # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)
415 gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(CE660500-824D-11E0-AC72-0002A5D5C51B)"
416 gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"
417 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10
418
419 # RunAxf support via Dynamic Shell Command protocol
420 # We want to use the Shell Libraries but don't want it to initialise
421 # automatically. We initialise the libraries when the command is called by the
422 # Shell.
423 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
424
425 !if $(USE_ARM_BDS) == FALSE
426 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
427 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
428 !endif
429
430 !if $(SECURE_BOOT_ENABLE) == TRUE
431 # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
432 gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
433 gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
434 gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
435 !endif
436
437 [Components.common]
438 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
439
440 # Versatile Express FileSystem
441 ArmPlatformPkg/FileSystem/BootMonFs/BootMonFs.inf
442
443 #
444 # Networking stack
445 #
446 MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
447 MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
448 MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
449 MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
450 MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
451 MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
452 MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
453 MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
454 MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
455 MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
456 MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
457
458 # ISP1761 USB OTG Controller
459 EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf
460
461 #
462 # Android Fastboot
463 #
464 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
465 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
466 ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBootDxe.inf
467
468 # FV Filesystem
469 MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
470
471 #
472 # FDT installation
473 #
474 EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf
475
476 # Legacy Linux Loader
477 ArmPkg/Application/LinuxLoader/LinuxLoader.inf