Since the default EfiResetSystemLib for VExpress cannot be used at runtime (due to the fact that its MMIO registers need to be owned by the OS and so cannot be runtime remapped), instead use PSCI calls into EL3 at runtime. Contributed-under: TianoCore Contribution Agreement 1.0 Reviewed-by: Olivier Martin <olivier.martin@arm.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17380 6f19259b-4bc3-4df7-8a09-765794883524
430 lines
22 KiB
SourcePawn
430 lines
22 KiB
SourcePawn
#
|
|
# Copyright (c) 2011-2015, ARM Limited. All rights reserved.
|
|
#
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
#
|
|
|
|
[LibraryClasses.common]
|
|
!if $(TARGET) == RELEASE
|
|
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
|
UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
|
|
!else
|
|
DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf
|
|
UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf
|
|
# UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf
|
|
!endif
|
|
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
|
|
|
|
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
|
SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf
|
|
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
|
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
|
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
|
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf
|
|
|
|
UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
|
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
|
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
|
|
|
|
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
|
|
|
#
|
|
# Assume everything is fixed at build
|
|
#
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
# 1/123 faster than Stm or Vstm version
|
|
#BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
|
BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf
|
|
|
|
# Networking Requirements
|
|
NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
|
|
DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf
|
|
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
|
|
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf
|
|
|
|
# ARM Architectural Libraries
|
|
CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf
|
|
DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf
|
|
CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf
|
|
ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf
|
|
DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf
|
|
ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
|
|
ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf
|
|
ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
|
|
ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf
|
|
|
|
# Versatile Express Specific Libraries
|
|
PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf
|
|
ArmPlatformSysConfigLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSysConfigLib/ArmVExpressSysConfigLib.inf
|
|
NorFlashPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/NorFlashArmVExpressLib/NorFlashArmVExpressLib.inf
|
|
EfiResetSystemLib|ArmPlatformPkg/ArmVExpressPkg/Library/ResetSystemLib/ResetSystemLib.inf
|
|
# ARM PL111 Lcd Driver
|
|
LcdPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/PL111LcdArmVExpressLib/PL111LcdArmVExpressLib.inf
|
|
# ARM PL031 RTC Driver
|
|
RealTimeClockLib|ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf
|
|
# ARM PL354 SMC Driver
|
|
PL35xSmcLib|ArmPlatformPkg/Drivers/PL35xSmc/PL35xSmc.inf
|
|
# ARM PL011 UART Driver
|
|
PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf
|
|
SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf
|
|
SerialPortExtLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortExtLib.inf
|
|
# ARM SP804 Dual Timer Driver
|
|
TimerLib|ArmPlatformPkg/Library/SP804TimerLib/SP804TimerLib.inf
|
|
|
|
# EBL Related Libraries
|
|
EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf
|
|
EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf
|
|
EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf
|
|
EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf
|
|
|
|
#
|
|
# Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window
|
|
# in the debugger will show load and unload commands for symbols. You can cut and paste this
|
|
# into the command window to load symbols. We should be able to use a script to do this, but
|
|
# the version of RVD I have does not support scripts accessing system memory.
|
|
#
|
|
#PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf
|
|
PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf
|
|
#PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
|
|
|
|
DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf
|
|
DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
|
|
|
|
SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
|
|
|
|
# BDS Libraries
|
|
BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf
|
|
|
|
AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
|
|
FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
|
|
|
|
# RunAxf support via Dynamic Shell Command protocol
|
|
# It uses the Shell libraries.
|
|
ArmShellCmdRunAxfLib|ArmPlatformPkg/Library/ArmShellCmdRunAxf/ArmShellCmdRunAxf.inf
|
|
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
|
|
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
|
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
|
|
|
|
[LibraryClasses.common.SEC]
|
|
ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf
|
|
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.inf
|
|
|
|
DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf
|
|
DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf
|
|
|
|
!ifdef $(EDK2_SKIP_PEICORE)
|
|
PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
|
|
ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
|
|
LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
|
|
HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
|
|
PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
|
|
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
|
|
!endif
|
|
|
|
# Trustzone Support
|
|
ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf
|
|
|
|
[LibraryClasses.common.PEI_CORE]
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf
|
|
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
|
|
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
|
|
|
|
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf
|
|
PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
|
|
|
|
[LibraryClasses.common.PEIM]
|
|
HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf
|
|
PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf
|
|
PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf
|
|
PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf
|
|
ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf
|
|
OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf
|
|
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf
|
|
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf
|
|
|
|
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf
|
|
PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
|
|
|
|
[LibraryClasses.common.SEC, LibraryClasses.common.PEIM]
|
|
MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf
|
|
|
|
[LibraryClasses.common.DXE_CORE]
|
|
HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf
|
|
MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf
|
|
DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf
|
|
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
|
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
|
|
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf
|
|
|
|
[LibraryClasses.common.DXE_DRIVER]
|
|
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
|
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf
|
|
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Dxe/DxeArmPlatformGlobalVariableLib.inf
|
|
|
|
[LibraryClasses.common.UEFI_APPLICATION]
|
|
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
|
|
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
|
|
[LibraryClasses.common.UEFI_DRIVER]
|
|
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
|
UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf
|
|
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
|
|
PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf
|
|
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
|
|
[LibraryClasses.common.DXE_RUNTIME_DRIVER]
|
|
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
|
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
|
|
|
#
|
|
# PSCI support in EL3 may not be available if we are not running under a PSCI
|
|
# compliant secure firmware, but since the default VExpress EfiResetSystemLib
|
|
# cannot be supported at runtime (due to the fact that the syscfg MMIO registers
|
|
# cannot be runtime remapped), it is our best bet to get ResetSystem functionality
|
|
# on these platforms.
|
|
#
|
|
EfiResetSystemLib|ArmPkg/Library/ArmPsciResetSystemLib/ArmPsciResetSystemLib.inf
|
|
|
|
[LibraryClasses.ARM, LibraryClasses.AARCH64]
|
|
#
|
|
# It is not possible to prevent the ARM compiler for generic intrinsic functions.
|
|
# This library provides the instrinsic functions generate by a given compiler.
|
|
# [LibraryClasses.ARM] and NULL mean link this library into all ARM images.
|
|
#
|
|
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
|
|
|
|
# Add support for GCC stack protector
|
|
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
|
|
|
|
|
[BuildOptions]
|
|
RVCT:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
|
|
|
GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
|
|
|
################################################################################
|
|
#
|
|
# Pcd Section - list of all EDK II PCD Entries defined by this Platform
|
|
#
|
|
################################################################################
|
|
|
|
[PcdsFeatureFlag.common]
|
|
gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE
|
|
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE
|
|
gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE
|
|
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE
|
|
|
|
#
|
|
# Control what commands are supported from the UI
|
|
# Turn these on and off to add features or save size
|
|
#
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE
|
|
|
|
gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE
|
|
|
|
# Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress
|
|
gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE
|
|
|
|
gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE
|
|
|
|
[PcdsFixedAtBuild.common]
|
|
gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"
|
|
!ifdef $(FIRMWARE_VER)
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString|L"$(FIRMWARE_VER)"
|
|
!endif
|
|
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"VExpress"
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
|
|
gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1
|
|
gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
|
|
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
|
|
|
|
# DEBUG_ASSERT_ENABLED 0x01
|
|
# DEBUG_PRINT_ENABLED 0x02
|
|
# DEBUG_CODE_ENABLED 0x04
|
|
# CLEAR_MEMORY_ENABLED 0x08
|
|
# ASSERT_BREAKPOINT_ENABLED 0x10
|
|
# ASSERT_DEADLOOP_ENABLED 0x20
|
|
!if $(TARGET) == RELEASE
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21
|
|
!else
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f
|
|
!endif
|
|
|
|
# DEBUG_INIT 0x00000001 // Initialization
|
|
# DEBUG_WARN 0x00000002 // Warnings
|
|
# DEBUG_LOAD 0x00000004 // Load events
|
|
# DEBUG_FS 0x00000008 // EFI File system
|
|
# DEBUG_POOL 0x00000010 // Alloc & Free's
|
|
# DEBUG_PAGE 0x00000020 // Alloc & Free's
|
|
# DEBUG_INFO 0x00000040 // Verbose
|
|
# DEBUG_DISPATCH 0x00000080 // PEI/DXE Dispatchers
|
|
# DEBUG_VARIABLE 0x00000100 // Variable
|
|
# DEBUG_BM 0x00000400 // Boot Manager
|
|
# DEBUG_BLKIO 0x00001000 // BlkIo Driver
|
|
# DEBUG_NET 0x00004000 // SNI Driver
|
|
# DEBUG_UNDI 0x00010000 // UNDI Driver
|
|
# DEBUG_LOADFILE 0x00020000 // UNDI Driver
|
|
# DEBUG_EVENT 0x00080000 // Event messages
|
|
# DEBUG_GCD 0x00100000 // Global Coherency Database changes
|
|
# DEBUG_CACHE 0x00200000 // Memory range cachability changes
|
|
# DEBUG_ERROR 0x80000000 // Error
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07
|
|
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07
|
|
gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000
|
|
|
|
#
|
|
# Optional feature to help prevent EFI memory map fragments
|
|
# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob
|
|
# Values are in EFI Pages (4K). DXE Core will make sure that
|
|
# at least this much of each type of memory can be allocated
|
|
# from a single memory range. This way you only end up with
|
|
# maximum of two fragements for each type in the memory map
|
|
# (the memory used, and the free memory that was prereserved
|
|
# but not used).
|
|
#
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|80
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|65
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
|
|
|
|
# Device path of block device on which Android Fastboot should flash
|
|
# partitions. We just use the SD card on VExpress.
|
|
gArmVExpressTokenSpaceGuid.PcdAndroidFastbootNvmDevicePath|L"VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)"
|
|
|
|
#
|
|
# ARM Pcds
|
|
#
|
|
gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000
|
|
|
|
#
|
|
# ARM PrimeCell
|
|
#
|
|
|
|
#
|
|
# FileSystem
|
|
#
|
|
|
|
# List of Device Paths that support BootMonFs
|
|
gArmPlatformTokenSpaceGuid.PcdBootMonFsSupportedDevicePaths|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59);VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)"
|
|
|
|
#
|
|
# ARM OS Loader
|
|
#
|
|
# Versatile Express machine type (ARM VERSATILE EXPRESS = 2272) required for ARM Linux:
|
|
gArmTokenSpaceGuid.PcdArmMachineType|2272
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultBootDescription|L"Linux from NorFlash"
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultBootDevicePath|L"VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/MemoryMapped(0x0,0xED000000,0xED400000)"
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultBootType|1
|
|
|
|
# Use the serial console (ConIn & ConOut) and the Graphic driver (ConOut)
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultConOutPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi();VenHw(CE660500-824D-11E0-AC72-0002A5D5C51B)"
|
|
gArmPlatformTokenSpaceGuid.PcdDefaultConInPaths|L"VenHw(D3987D4B-971A-435F-8CAF-4967EB627241)/Uart(38400,8,N,1)/VenPcAnsi()"
|
|
gArmPlatformTokenSpaceGuid.PcdPlatformBootTimeOut|10
|
|
|
|
# RunAxf support via Dynamic Shell Command protocol
|
|
# We want to use the Shell Libraries but don't want it to initialise
|
|
# automatically. We initialise the libraries when the command is called by the
|
|
# Shell.
|
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
|
|
|
[Components.common]
|
|
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
|
|
|
|
# Versatile Express FileSystem
|
|
ArmPlatformPkg/FileSystem/BootMonFs/BootMonFs.inf
|
|
|
|
#
|
|
# Networking stack
|
|
#
|
|
MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf
|
|
MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf
|
|
MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf
|
|
MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf
|
|
MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf
|
|
MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf
|
|
MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf
|
|
MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf
|
|
MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf
|
|
MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf
|
|
MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf
|
|
MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf
|
|
|
|
# ISP1761 USB OTG Controller
|
|
EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf
|
|
|
|
#
|
|
# Android Fastboot
|
|
#
|
|
EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
|
|
EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
|
|
ArmPlatformPkg/ArmVExpressPkg/ArmVExpressFastBootDxe/ArmVExpressFastBootDxe.inf
|
|
|
|
# FV Filesystem
|
|
MdeModulePkg/Universal/FvSimpleFileSystemDxe/FvSimpleFileSystemDxe.inf
|
|
|
|
#
|
|
# FDT installation
|
|
#
|
|
EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf
|