1#/** @file 2# Embedded Package 3# 4# 5# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR> 6# Copyright (c) 2012-2015, ARM Ltd. All rights reserved.<BR> 7# 8# This program and the accompanying materials 9# are licensed and made available under the terms and conditions of the BSD License 10# which accompanies this distribution. The full text of the license may be found at 11# http://opensource.org/licenses/bsd-license.php 12# 13# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 14# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 15# 16#**/ 17 18################################################################################ 19# 20# Defines Section - statements that will be processed to create a Makefile. 21# 22################################################################################ 23[Defines] 24 PLATFORM_NAME = Embedded 25 PLATFORM_GUID = 8DBB580B-CF89-4D57-95C6-DFE96C44686E 26 PLATFORM_VERSION = 0.1 27 DSC_SPECIFICATION = 0x00010005 28 OUTPUT_DIRECTORY = Build/Embedded 29 SUPPORTED_ARCHITECTURES = IA32|X64|IPF|ARM|AARCH64 30 BUILD_TARGETS = DEBUG|RELEASE 31 SKUID_IDENTIFIER = DEFAULT 32 FLASH_DEFINITION = EmbeddedPkg/EmbeddedPkg.fdf 33 34 35################################################################################ 36# 37# SKU Identification section - list of all SKU IDs supported by this 38# Platform. 39# 40################################################################################ 41[SkuIds] 42 0|DEFAULT # The entry: 0|DEFAULT is reserved and always required. 43 44################################################################################ 45# 46# Library Class section - list of all Library Classes needed by this Platform. 47# 48################################################################################ 49[LibraryClasses.common] 50# DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf 51 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf 52 53 54 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf 55 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf 56 PciLib|MdePkg/Library/BasePciLibCf8/BasePciLibCf8.inf 57 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf 58 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf 59 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf 60 EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf 61 62 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf 63 64 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf 65 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf 66 PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf 67 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLib/BaseCacheMaintenanceLib.inf 68 PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf 69 70 SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf 71 RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf 72 EfiResetSystemLib|EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf 73 GdbSerialLib|EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf 74 75 76 # 77 # Need to change this for IPF 78 # 79 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf 80 81 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 82 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf 83 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf 84 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf 85 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf 86 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf 87 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf 88 89 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf 90 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf 91 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf 92 93 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 94 EblCmdLib|EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf 95 96 EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf 97 98 AcpiLib|EmbeddedPkg/Library/AcpiLib/AcpiLib.inf 99 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf 100 101 # Shell libraries 102 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf 103 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf 104 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf 105 106 # Networking Requirements 107 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf 108 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf 109 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf 110 111[LibraryClasses.common.DXE_DRIVER] 112 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf 113 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 114 115 116[LibraryClasses.common.UEFI_APPLICATION] 117 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf 118 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 119 120[LibraryClasses.common.UEFI_DRIVER] 121 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf 122 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 123 124[LibraryClasses.common.SEC] 125 ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf 126 127[LibraryClasses.ARM, LibraryClasses.AARCH64] 128 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf 129 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf 130 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf 131 SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf 132 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf 133 134 # Add support for GCC stack protector 135 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf 136 137[LibraryClasses.ARM] 138 ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf 139 140[LibraryClasses.AARCH64] 141 ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf 142 143 144################################################################################ 145# 146# Pcd Section - list of all PCD Entries defined by this Platform 147# 148################################################################################ 149 150[PcdsFeatureFlag.common] 151 gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|FALSE 152 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|FALSE 153 gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|FALSE 154 gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|FALSE 155 156 # 157 # Control what commands are supported from the UI 158 # Turn these on and off to add features or save size 159 # 160 gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE 161 gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE 162 gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE 163 gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE 164 gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE 165 gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE 166 gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE 167 168 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|FALSE 169 170 171[PcdsFixedAtBuild.common] 172 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000 173 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000 174 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000 175 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000 176 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x0f 177 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000 178 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x06 179 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF 180 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|0 181 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0 182 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000 183 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000 184 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320 185 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x80000000 186 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000 187 gEfiMdePkgTokenSpaceGuid.PcdFSBClock|200000000 188 gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|L"" 189 gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07 190 gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000 191 192 gEmbeddedTokenSpaceGuid.PcdPrePiHobBase|0 193 gEmbeddedTokenSpaceGuid.PcdPrePiStackBase|0 194 gEmbeddedTokenSpaceGuid.PcdPrePiStackSize|0 195 196# 197# Optinal feature to help prevent EFI memory map fragments 198# Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob 199# Values are in EFI Pages (4K). DXE Core will make sure that 200# at least this much of each type of memory can be allocated 201# from a single memory range. This way you only end up with 202# maximum of two fragements for each type in the memory map 203# (the memory used, and the free memory that was prereserved 204# but not used). 205# 206 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0 207 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0 208 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0 209 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0 210 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0 211 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|0 212 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|0 213 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|0 214 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0 215 216# 217# Timer config for this platform 218# 219 gEmbeddedTokenSpaceGuid.PcdTimerBaseAddress|0x3c700000 220 gEmbeddedTokenSpaceGuid.PcdTimerVector|7 221 gEmbeddedTokenSpaceGuid.PcdTimerPeriod|100000 222 223[PcdsFixedAtBuild.IPF] 224 gEfiMdePkgTokenSpaceGuid.PcdIoBlockBaseAddressForIpf|0x0ffffc000000 225 226# 227# This makes it so you can source level debug with NT32. VC++ debugger limitiation! 228# 229#[BuildOptions] 230# DEBUG_*_IA32_DLINK_FLAGS = /EXPORT:InitializeDriver=$(IMAGE_ENTRY_POINT) /ALIGN:4096 /SUBSYSTEM:CONSOLE 231# RELEASE_*_IA32_DLINK_FLAGS = /ALIGN:4096 232# *_*_IA32_CC_FLAGS = /D EFI_SPECIFICATION_VERSION=0x0002000A /D TIANO_RELEASE_VERSION=0x00080006 233 234[BuildOptions] 235 RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu=7-A.security 236 237 238################################################################################ 239# 240# Components Section - list of all Modules needed by this Platform 241# 242################################################################################ 243[Components.common] 244 EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf 245 EmbeddedPkg/Library/EblCmdLibNull/EblCmdLibNull.inf 246 EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf 247 EmbeddedPkg/Library/GdbSerialDebugPortLib/GdbSerialDebugPortLib.inf 248 EmbeddedPkg/Library/GdbSerialLib/GdbSerialLib.inf 249 EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf 250 EmbeddedPkg/Library/PrePiLib/PrePiLib.inf 251 EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf 252 EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf 253 EmbeddedPkg/Library/LzmaHobCustomDecompressLib/LzmaHobCustomDecompressLib.inf 254 EmbeddedPkg/Library/NullDmaLib/NullDmaLib.inf 255 256 EmbeddedPkg/Ebl/Ebl.inf 257#### EmbeddedPkg/EblExternCmd/EblExternCmd.inf 258 EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf 259 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf 260 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf 261 EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf 262 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf { 263 <LibraryClasses> 264 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf 265 } 266 267 EmbeddedPkg/Universal/MmcDxe/MmcDxe.inf 268 269 # FDT installation 270 EmbeddedPkg/Drivers/FdtPlatformDxe/FdtPlatformDxe.inf { 271 <LibraryClasses> 272 # It depends on BdsLib that depends on TimerLib 273 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf 274 } 275 276 EmbeddedPkg/Application/AndroidFastboot/AndroidFastbootApp.inf { 277 <LibraryClasses> 278 # It depends on BdsLib that depends on TimerLib 279 TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf 280 } 281 EmbeddedPkg/Drivers/AndroidFastbootTransportUsbDxe/FastbootTransportUsbDxe.inf 282 EmbeddedPkg/Drivers/AndroidFastbootTransportTcpDxe/FastbootTransportTcpDxe.inf 283 284 # Drivers 285 EmbeddedPkg/Drivers/Isp1761UsbDxe/Isp1761UsbDxe.inf 286 EmbeddedPkg/Drivers/Lan9118Dxe/Lan9118Dxe.inf 287 EmbeddedPkg/Drivers/SataSiI3132Dxe/SataSiI3132Dxe.inf 288 289[Components.IA32, Components.X64, Components.IPF, Components.ARM] 290 EmbeddedPkg/GdbStub/GdbStub.inf 291