This is designed to be used on platforms where a a real RTC is not available and relies on an RtcEpochSeconds variable having been set or, if that is not the case, falls back to using the epoch embedded at compilation time. Note that, in order to keep things simple for the setting of the compilation time variable, only GCC environments with UNIX-like shells and where a 'date' command is available are meant to be supported for now. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Pete Batard <pete@akeo.ie> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
258 lines
12 KiB
Plaintext
258 lines
12 KiB
Plaintext
#/** @file
|
|
# Embedded Package
|
|
#
|
|
#
|
|
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
# Copyright (c) 2012-2015, ARM Ltd. All rights reserved.<BR>
|
|
# Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
|
|
#
|
|
# 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.
|
|
#
|
|
#**/
|
|
|
|
################################################################################
|
|
#
|
|
# Defines Section - statements that will be processed to create a Makefile.
|
|
#
|
|
################################################################################
|
|
[Defines]
|
|
PLATFORM_NAME = Embedded
|
|
PLATFORM_GUID = 8DBB580B-CF89-4D57-95C6-DFE96C44686E
|
|
PLATFORM_VERSION = 0.1
|
|
DSC_SPECIFICATION = 0x00010005
|
|
OUTPUT_DIRECTORY = Build/Embedded
|
|
SUPPORTED_ARCHITECTURES = IA32|X64|ARM|AARCH64
|
|
BUILD_TARGETS = DEBUG|RELEASE|NOOPT
|
|
SKUID_IDENTIFIER = DEFAULT
|
|
|
|
|
|
################################################################################
|
|
#
|
|
# SKU Identification section - list of all SKU IDs supported by this
|
|
# Platform.
|
|
#
|
|
################################################################################
|
|
[SkuIds]
|
|
0|DEFAULT # The entry: 0|DEFAULT is reserved and always required.
|
|
|
|
################################################################################
|
|
#
|
|
# Library Class section - list of all Library Classes needed by this Platform.
|
|
#
|
|
################################################################################
|
|
[LibraryClasses.common]
|
|
# DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
|
|
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
|
|
|
|
|
|
AndroidBootImgLib|EmbeddedPkg/Library/AndroidBootImgLib/AndroidBootImgLib.inf
|
|
BaseLib|MdePkg/Library/BaseLib/BaseLib.inf
|
|
BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf
|
|
PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf
|
|
PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf
|
|
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
|
|
UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf
|
|
|
|
ReportStatusCodeLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf
|
|
|
|
PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf
|
|
PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf
|
|
PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf
|
|
CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf
|
|
PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
|
|
|
|
SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf
|
|
RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
|
|
EfiResetSystemLib|EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
|
|
GdbSerialLib|EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
|
|
|
|
|
|
#
|
|
# Need to change this for IPF
|
|
#
|
|
IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf
|
|
|
|
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
|
|
UefiLib|MdePkg/Library/UefiLib/UefiLib.inf
|
|
HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf
|
|
UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf
|
|
UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf
|
|
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
|
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
|
|
ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf
|
|
|
|
DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf
|
|
UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf
|
|
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
|
|
FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf
|
|
|
|
# Shell libraries
|
|
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
|
|
FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
|
|
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf
|
|
|
|
# Networking Requirements
|
|
NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf
|
|
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf
|
|
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf
|
|
|
|
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf
|
|
DtPlatformDtbLoaderLib|EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf
|
|
|
|
[LibraryClasses.common.DXE_DRIVER]
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
|
|
|
|
|
[LibraryClasses.common.UEFI_APPLICATION]
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
|
|
|
[LibraryClasses.common.UEFI_DRIVER]
|
|
PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
|
|
ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf
|
|
|
|
[LibraryClasses.common.SEC]
|
|
ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
|
|
|
|
[LibraryClasses.ARM, LibraryClasses.AARCH64]
|
|
ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf
|
|
ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf
|
|
SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf
|
|
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
|
|
|
|
# Add support for GCC stack protector
|
|
NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf
|
|
|
|
ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf
|
|
|
|
################################################################################
|
|
#
|
|
# Pcd Section - list of all PCD Entries defined by this Platform
|
|
#
|
|
################################################################################
|
|
|
|
[PcdsFeatureFlag.common]
|
|
gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE
|
|
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE
|
|
gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE
|
|
gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE
|
|
|
|
gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE
|
|
|
|
|
|
[PcdsFixedAtBuild.common]
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF
|
|
gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0
|
|
gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0
|
|
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320
|
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
|
|
gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000
|
|
|
|
gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0
|
|
gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0
|
|
|
|
#
|
|
# Optinal 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|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|0
|
|
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0
|
|
|
|
#
|
|
# Timer config for this platform
|
|
#
|
|
gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000
|
|
gEmbeddedTokenSpaceGuid.PcdTimerVector|7
|
|
gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000
|
|
|
|
[BuildOptions]
|
|
RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security
|
|
*_*_*_CC_FLAGS = -DDISABLE_NEW_DEPRECATED_INTERFACES
|
|
|
|
################################################################################
|
|
#
|
|
# Components Section - list of all Modules needed by this Platform
|
|
#
|
|
################################################################################
|
|
[Components.common]
|
|
EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf
|
|
EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf
|
|
EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
|
|
EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
|
|
EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf
|
|
EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf
|
|
EmbeddedPkg/Library/CoherentDmaLib/CoherentDmaLib.inf
|
|
EmbeddedPkg/Library/NonCoherentDmaLib/NonCoherentDmaLib.inf
|
|
EmbeddedPkg/Library/DxeDtPlatformDtbLoaderLibDefault/DxeDtPlatformDtbLoaderLibDefault.inf
|
|
EmbeddedPkg/Library/VirtualRealTimeClockLib/VirtualRealTimeClockLib.inf
|
|
|
|
EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf
|
|
EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf
|
|
EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
|
|
EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf
|
|
EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf {
|
|
<LibraryClasses>
|
|
TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf
|
|
}
|
|
|
|
EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf
|
|
|
|
# Drivers
|
|
EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf
|
|
EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132Dxe.inf
|
|
|
|
EmbeddedPkg/Library/AcpiLib/AcpiLib.inf
|
|
EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf
|
|
EmbeddedPkg/Library/FdtLib/FdtLib.inf
|
|
EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
|
|
EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
|
|
|
|
EmbeddedPkg/Drivers/ConsolePrefDxe/ConsolePrefDxe.inf
|
|
EmbeddedPkg/Drivers/DtPlatformDxe/DtPlatformDxe.inf
|
|
|
|
[Components.ARM]
|
|
EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf
|
|
|
|
[Components.ARM, Components.AARCH64]
|
|
EmbeddedPkg/Application/AndroidBoot/AndroidBootApp.inf
|
|
EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf
|
|
EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf
|
|
EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf
|
|
|
|
[Components.IA32, Components.X64, Components.ARM]
|
|
EmbeddedPkg/GdbStub/GdbStub.inf
|