#\r
-# Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
-# \r
-# This program and the accompanying materials \r
-# are licensed and made available under the terms and conditions of the BSD License \r
-# which accompanies this distribution. The full text of the license may be found at \r
-# http://opensource.org/licenses/bsd-license.php \r
+# Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
#\r
-# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+# This program and the accompanying materials\r
+# are licensed and made available under the terms and conditions of the BSD License\r
+# which accompanies this distribution. The full text of the license may be found at\r
+# http://opensource.org/licenses/bsd-license.php\r
+#\r
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
#\r
\r
# UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf\r
!endif\r
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
- \r
+\r
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
- UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf \r
+ UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
\r
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
\r
# Assume everything is fixed at build\r
#\r
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
- \r
+\r
# 1/123 faster than Stm or Vstm version\r
#BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf\r
ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf\r
ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf\r
ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf\r
+ ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf\r
\r
# Versatile Express Specific Libraries\r
+ PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf\r
NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf\r
EfiResetSystemLib|ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf\r
# ARM SP804 Dual Timer Driver\r
TimerLib|ArmPlatformPkg/Library/SP804TimerLib/SP804TimerLib.inf\r
\r
- # EBL Related Libraries \r
+ # EBL Related Libraries\r
EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf\r
EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf\r
EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf\r
- \r
+\r
#\r
- # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window \r
+ # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window\r
# in the debugger will show load and unload commands for symbols. You can cut and paste this\r
# into the command window to load symbols. We should be able to use a script to do this, but\r
# the version of RVD I have does not support scripts accessing system memory.\r
#PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf\r
PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf\r
#PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
- \r
+\r
DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf\r
\r
- SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf \r
+ SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf\r
\r
# BDS Libraries\r
BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
+\r
+ AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf\r
FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf\r
\r
+ # RunAxf support via Dynamic Shell Command protocol\r
+ # It uses the Shell libraries.\r
+ ArmShellCmdRunAxfLib|ArmPlatformPkg/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf.inf\r
+ ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
+ FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+ SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
+\r
[LibraryClasses.common.SEC]\r
ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf\r
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.inf\r
- \r
+\r
DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf\r
DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf\r
- \r
+\r
!ifdef $(EDK2_SKIP_PEICORE)\r
PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
- PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
!endif\r
\r
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
- \r
+\r
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
- \r
+\r
[LibraryClasses.common.PEIM]\r
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
\r
-[LibraryClasses.ARM]\r
+[LibraryClasses.ARM, LibraryClasses.AARCH64]\r
#\r
# It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
# This library provides the instrinsic functions generate by a given compiler.\r
#\r
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
\r
-[LibraryClasses.AARCH64]\r
- NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+ # Add support for GCC stack protector\r
+ NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
\r
\r
[BuildOptions]\r
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE\r
gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\r
- \r
+\r
#\r
# Control what commands are supported from the UI\r
# Turn these on and off to add features or save size\r
- # \r
+ #\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE\r
\r
gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE\r
- \r
+\r
# Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress\r
gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE\r
- \r
+\r
gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE\r
- \r
+\r
gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
\r
[PcdsFixedAtBuild.common]\r
gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"\r
- \r
+!ifdef $(FIRMWARE_VER)\r
+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"\r
+!endif\r
+\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"VExpress"\r
gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000\r
gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07\r
gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000\r
- \r
+\r
#\r
# Optional feature to help prevent EFI memory map fragments\r
# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob\r
- # Values are in EFI Pages (4K). DXE Core will make sure that \r
- # at least this much of each type of memory can be allocated \r
+ # Values are in EFI Pages (4K). DXE Core will make sure that\r
+ # at least this much of each type of memory can be allocated\r
# from a single memory range. This way you only end up with\r
# maximum of two fragements for each type in the memory map\r
# (the memory used, and the free memory that was prereserved\r
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0\r
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0\r
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0\r
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|50\r
- gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|20\r
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80\r
+ gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|65\r
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400\r
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000\r
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20\r
#\r
# ARM OS Loader\r
#\r
- # Versatile Express machine type (ARM VERSATILE EXPRESS = 2272) required for ARM Linux: \r
+ # Versatile Express machine type (ARM VERSATILE EXPRESS = 2272) required for ARM Linux:\r
gArmTokenSpaceGuid.PcdArmMachineType|2272\r
gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from NorFlash"\r
gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/MemoryMapped(0x0,0xED000000,0xED400000)"\r
- gArmPlatformTokenSpaceGuid.PcdDefaultBootArgument|""\r
gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1\r
- \r
+\r
# Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)\r
gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(CE660500-824D-11E0-AC72-0002A5D5C51B)"\r
gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"\r
gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10\r
\r
+ # RunAxf support via Dynamic Shell Command protocol\r
+ # We want to use the Shell Libraries but don't want it to initialise\r
+ # automatically. We initialise the libraries when the command is called by the\r
+ # Shell.\r
+ gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
+\r
[Components.common]\r
+ MdeModulePkg/Universal/PCD/Dxe/Pcd.inf\r
+\r
# Versatile Express FileSystem\r
ArmPlatformPkg/FileSystem/BootMonFs/BootMonFs.inf\r
\r
EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf\r
EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf\r
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBootDxe.inf\r
+\r
+ # FV Filesystem\r
+ MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf\r