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