• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#
2#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.
3#
4#  This program and the accompanying materials
5#  are licensed and made available under the terms and conditions of the BSD License
6#  which accompanies this distribution.  The full text of the license may be found at
7#  http://opensource.org/licenses/bsd-license.php
8#
9#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11#
12#
13
14[Defines]
15  SECURE_BOOT_ENABLE  = FALSE
16
17[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER]
18  GCC:*_*_ARM_DLINK_FLAGS = -z common-page-size=0x1000
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  BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf
61
62  # Networking Requirements
63  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
64  DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
65  UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
66  IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
67
68  # ARM Architectural Libraries
69  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
70  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
71  CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf
72  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
73  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
74  ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
75  ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf
76  ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
77  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
78  ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
79
80  # Versatile Express Specific Libraries
81  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
82  ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
83  NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
84  EfiResetSystemLib|ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf
85!ifdef EDK2_ENABLE_PL111
86  # ARM PL111 Lcd Driver
87  LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
88!endif
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  # ARM SP804 Dual Timer Driver
97  TimerLib|ArmPlatformPkg/Library/SP804TimerLib/SP804TimerLib.inf
98
99  # EBL Related Libraries
100  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf
101  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
102  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
103  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
104
105  #
106  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
107  # in the debugger will show load and unload commands for symbols. You can cut and paste this
108  # into the command window to load symbols. We should be able to use a script to do this, but
109  # the version of RVD I have does not support scripts accessing system memory.
110  #
111  #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
112  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
113  #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
114
115  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
116  DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
117
118  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
119
120  # BDS Libraries
121  UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
122  PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.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  #
135  # Secure Boot dependencies
136  #
137!if $(SECURE_BOOT_ENABLE) == TRUE
138  IntrinsicLib|CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
139  OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf
140  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
141  AuthVariableLib|SecurityPkg/Library/AuthVariableLib/AuthVariableLib.inf
142  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
143
144  # re-use the UserPhysicalPresent() dummy implementation from the ovmf tree
145  PlatformSecureLib|OvmfPkg/Library/PlatformSecureLib/PlatformSecureLib.inf
146!else
147  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
148  AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
149!endif
150  VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf
151
152  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
153  CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
154
155[LibraryClasses.common.SEC]
156  ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf
157
158  DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
159  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf
160
161!ifdef $(EDK2_SKIP_PEICORE)
162  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
163  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
164  LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
165  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
166  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
167  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
168  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
169!endif
170
171  # Trustzone Support
172  ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf
173
174  ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf
175
176[LibraryClasses.common.PEI_CORE]
177  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
178  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
179  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
180  PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
181  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
182  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
183  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
184  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
185  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
186  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
187
188  PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
189  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
190
191[LibraryClasses.common.PEIM]
192  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
193  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
194  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
195  PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
196  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
197  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
198  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
199  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
200  PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
201  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
202  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
203
204  PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
205
206[LibraryClasses.common.SEC, LibraryClasses.common.PEIM]
207  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
208  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
209
210[LibraryClasses.common.DXE_CORE]
211  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
212  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
213  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
214  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
215  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
216  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
217  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
218  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
219
220[LibraryClasses.common.DXE_DRIVER]
221  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
222  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
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  # UiApp dependencies
234  ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf
235  FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
236  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
237
238[LibraryClasses.common.UEFI_DRIVER]
239  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
240  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
241  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
242  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
243  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
244  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
245
246[LibraryClasses.common.DXE_RUNTIME_DRIVER]
247  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
248  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
249  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
250  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
251  ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigRuntimeLib/ArmVExpressSysConfigRuntimeLib.inf
252!if $(SECURE_BOOT_ENABLE) == TRUE
253  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf
254!endif
255
256[LibraryClasses.AARCH64.DXE_RUNTIME_DRIVER]
257  #
258  # PSCI support in EL3 may not be available if we are not running under a PSCI
259  # compliant secure firmware, but since the default VExpress EfiResetSystemLib
260  # cannot be supported at runtime (due to the fact that the syscfg MMIO registers
261  # cannot be runtime remapped), it is our best bet to get ResetSystem functionality
262  # on these platforms.
263  #
264  EfiResetSystemLib|ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf
265
266[LibraryClasses.ARM, LibraryClasses.AARCH64]
267  #
268  # It is not possible to prevent the ARM compiler for generic intrinsic functions.
269  # This library provides the instrinsic functions generate by a given compiler.
270  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
271  #
272  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
273
274  # Add support for GCC stack protector
275  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
276
277
278[BuildOptions]
279  RVCT:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG
280
281  GCC:RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG
282
283################################################################################
284#
285# Pcd Section - list of all EDK II PCD Entries defined by this Platform
286#
287################################################################################
288
289[PcdsFeatureFlag.common]
290  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
291  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
292  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
293  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
294
295  #
296  # Control what commands are supported from the UI
297  # Turn these on and off to add features or save size
298  #
299  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
300  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
301  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
302  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
303  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
304  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
305  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
306
307  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
308
309  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
310  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
311
312  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
313
314  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
315
316[PcdsFixedAtBuild.common]
317  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"
318!ifdef $(FIRMWARE_VER)
319  gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
320!endif
321
322  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"VExpress"
323  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
324  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
325  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
326  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
327  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
328  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
329  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
330  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
331
332  # DEBUG_ASSERT_ENABLED       0x01
333  # DEBUG_PRINT_ENABLED        0x02
334  # DEBUG_CODE_ENABLED         0x04
335  # CLEAR_MEMORY_ENABLED       0x08
336  # ASSERT_BREAKPOINT_ENABLED  0x10
337  # ASSERT_DEADLOOP_ENABLED    0x20
338!if $(TARGET) == RELEASE
339  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
340!else
341  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
342!endif
343
344  #  DEBUG_INIT      0x00000001  // Initialization
345  #  DEBUG_WARN      0x00000002  // Warnings
346  #  DEBUG_LOAD      0x00000004  // Load events
347  #  DEBUG_FS        0x00000008  // EFI File system
348  #  DEBUG_POOL      0x00000010  // Alloc & Free (pool)
349  #  DEBUG_PAGE      0x00000020  // Alloc & Free (page)
350  #  DEBUG_INFO      0x00000040  // Informational debug messages
351  #  DEBUG_DISPATCH  0x00000080  // PEI/DXE/SMM Dispatchers
352  #  DEBUG_VARIABLE  0x00000100  // Variable
353  #  DEBUG_BM        0x00000400  // Boot Manager
354  #  DEBUG_BLKIO     0x00001000  // BlkIo Driver
355  #  DEBUG_NET       0x00004000  // SNP Driver
356  #  DEBUG_UNDI      0x00010000  // UNDI Driver
357  #  DEBUG_LOADFILE  0x00020000  // LoadFile
358  #  DEBUG_EVENT     0x00080000  // Event messages
359  #  DEBUG_GCD       0x00100000  // Global Coherency Database changes
360  #  DEBUG_CACHE     0x00200000  // Memory range cachability changes
361  #  DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
362  #                              // significantly impact boot performance
363  #  DEBUG_ERROR     0x80000000  // Error
364  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
365
366  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
367
368  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
369  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
370  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
371
372  #
373  # Optional feature to help prevent EFI memory map fragments
374  # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
375  # Values are in EFI Pages (4K). DXE Core will make sure that
376  # at least this much of each type of memory can be allocated
377  # from a single memory range. This way you only end up with
378  # maximum of two fragements for each type in the memory map
379  # (the memory used, and the free memory that was prereserved
380  # but not used).
381  #
382  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
383  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
384  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
385  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
386  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|65
387  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
388  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000
389  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
390  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
391
392  # Device path of block device on which Android Fastboot should flash
393  # partitions. We just use the SD card on VExpress.
394  gArmVExpressTokenSpaceGuid.PcdAndroidFastbootNvmDevicePath|L"VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)"
395
396  #
397  # ARM Pcds
398  #
399  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000
400
401  #
402  # ARM PrimeCell
403  #
404
405  #
406  # FileSystem
407  #
408
409  # List of Device Paths that support BootMonFs
410  gArmPlatformTokenSpaceGuid.PcdBootMonFsSupportedDevicePaths|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59);VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)"
411
412  #
413  # ARM OS Loader
414  #
415  gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from NorFlash"
416  gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/Image"
417
418  # Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)
419  gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(CE660500-824D-11E0-AC72-0002A5D5C51B)"
420  gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"
421  gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|10
422
423  # RunAxf support via Dynamic Shell Command protocol
424  # We want to use the Shell Libraries but don't want it to initialise
425  # automatically. We initialise the libraries when the command is called by the
426  # Shell.
427  gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
428
429  gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
430  gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
431
432  # use the TTY terminal type
433  gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
434
435!ifdef EDK2_ENABLE_SMSC_91X
436  # Ethernet (SMSC 91C111)
437  gLan91xDxeTokenSpaceGuid.PcdLan91xDxeBaseAddress|0x1A000000
438!endif
439
440!if $(SECURE_BOOT_ENABLE) == TRUE
441  # override the default values from SecurityPkg to ensure images from all sources are verified in secure boot
442  gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x04
443  gEfiSecurityPkgTokenSpaceGuid.PcdFixedMediaImageVerificationPolicy|0x04
444  gEfiSecurityPkgTokenSpaceGuid.PcdRemovableMediaImageVerificationPolicy|0x04
445!endif
446
447  # GUID of the UI app
448  gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
449
450[Components.common]
451  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
452    <LibraryClasses>
453      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
454  }
455
456  # Versatile Express FileSystem
457  ArmPlatformPkg/FileSystem/BootMonFs/BootMonFs.inf
458
459  #
460  # Networking stack
461  #
462  MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
463  MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
464  MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
465  MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
466  MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
467  MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
468  MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
469  MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
470  MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
471  MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
472  MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
473!ifdef EDK2_ENABLE_SMSC_91X
474  # SMSC LAN 91C111
475  OpenPlatformPkg/Drivers/Net/Lan91xDxe/Lan91xDxe.inf
476!endif
477
478  # ISP1761 USB OTG Controller
479  EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf
480
481  #
482  # Android Fastboot
483  #
484  EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf {
485    <LibraryClasses>
486      BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
487  }
488  EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
489  ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBootDxe.inf
490
491  # FV Filesystem
492  MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
493
494  #
495  # FDT installation
496  #
497  EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf {
498    <LibraryClasses>
499      BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
500  }
501
502  #
503  # UEFI application (Shell Embedded Boot Loader)
504  #
505  ShellPkg/Application/Shell/Shell.inf {
506    <LibraryClasses>
507      ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
508      NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
509      NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
510      NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
511      NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
512      NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
513      NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
514      NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
515      NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf
516      HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf
517      PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
518      BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf
519  }
520