1# 2# Copyright (c) 2014 - 2016, AMD Incorporated. All rights reserved. 3# 4# This program and the accompanying materials are licensed and made 5# available under the terms and conditions of the BSD License which 6# accompanies this distribution. The full text of the license may 7# be found at 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# 15# Defines Section - statements that will be processed to create a Makefile. 16# 17################################################################################ 18[Defines] 19 20DEFINE NUM_CORES = 4 21DEFINE DO_PSCI = 1 22DEFINE DO_ISCP = 1 23DEFINE DO_KCS = 1 24 25 PLATFORM_NAME = Overdrive1000 26 PLATFORM_GUID = 36774DD7-20DE-4C5B-8722-f8861DFF1F16 27 PLATFORM_VERSION = 0.1 28 DSC_SPECIFICATION = 0x00010005 29 OUTPUT_DIRECTORY = Build/Overdrive1000 30 SUPPORTED_ARCHITECTURES = AARCH64 31 BUILD_TARGETS = DEBUG|RELEASE 32 SKUID_IDENTIFIER = DEFAULT 33 FLASH_DEFINITION = OpenPlatformPkg/Platforms/AMD/Styx/Overdrive1000Board/Overdrive1000Board.fdf 34 35################################################################################ 36# 37# Library Class section - list of all Library Classes needed by this Platform. 38# 39################################################################################ 40[LibraryClasses.common] 41!if $(TARGET) == RELEASE 42 DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf 43 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf 44!else 45 DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf 46 UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf 47!endif 48 DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf 49 50 BaseLib|MdePkg/Library/BaseLib/BaseLib.inf 51 SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf 52 PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf 53 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf 54 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf 55 PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf 56 IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf 57 PciExpressLib|MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf 58 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf 59 CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf 60 61 UefiLib|MdePkg/Library/UefiLib/UefiLib.inf 62 UefiUsbLib|MdePkg/Library/UefiUsbLib/UefiUsbLib.inf 63 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf 64 UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf 65 DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf 66 UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf 67 DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf 68 UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf 69 UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf 70 HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf 71 UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf 72 73 UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf 74 75 # 76 # Allow dynamic PCDs 77 # 78 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf 79 PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf 80 81 BaseMemoryLib|MdePkg/Library/BaseMemoryLibOptDxe/BaseMemoryLibOptDxe.inf 82 83 # Networking Requirements 84 NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf 85 DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf 86 UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf 87 IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf 88 89 # ARM Architectural Libraries 90 CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf 91 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf 92 CpuExceptionHandlerLib|ArmPkg/Library/ArmExceptionLib/ArmExceptionLib.inf 93 ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf 94 DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf 95 ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf 96 ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf 97 ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf 98 ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf 99 ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf 100 PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf 101 102 ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf 103 ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf 104 ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf 105 ArmPlatformLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxLib/AmdStyxLib.inf 106 TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf 107 UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf 108 109 # ARM PL011 UART Driver 110 PL011UartLib|ArmPlatformPkg/Drivers/PL011Uart/PL011Uart.inf 111 SerialPortLib|ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf 112 113 # 114 # PCI support 115 # 116 PciSegmentLib|MdePkg/Library/BasePciSegmentLibPci/BasePciSegmentLibPci.inf 117 PciLib|MdePkg/Library/BasePciLibPciExpress/BasePciLibPciExpress.inf 118 PciHostBridgeLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxPciHostBridgeLib/AmdStyxPciHostBridgeLib.inf 119 120 # 121 # Styx specific libraries 122 # 123 AmdSataInit|AmdModulePkg/Library/AmdSataInitLib/AmdSataInitLib.inf 124 AmdStyxAcpiLib|OpenPlatformPkg/Platforms/AMD/Styx/AcpiTables/AcpiTables.inf 125 EfiResetSystemLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/ResetSystemLib/ResetSystemLib.inf 126 RealTimeClockLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/RealTimeClockLib/RealTimeClockLib.inf 127 128 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf 129 UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf 130 PlatformBootManagerLib|ArmPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf 131 CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf 132 133 # 134 # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window 135 # in the debugger will show load and unload commands for symbols. You can cut and paste this 136 # into the command window to load symbols. We should be able to use a script to do this, but 137 # the version of RVD I have does not support scripts accessing system memory. 138 # 139 #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf 140 PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf 141 #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf 142 143 DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf 144 DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf 145 146 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf 147 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf 148 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf 149 150 DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf 151 SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf 152 FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf 153 154[LibraryClasses.common.SEC] 155 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf 156 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf 157 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf 158 159 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 160 ArmPlatformLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/AmdStyxLib/AmdStyxLibSec.inf 161 162 ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf 163 164 DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf 165 DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf 166 167 # Trustzone Support 168 ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf 169 ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf 170 171[LibraryClasses.common.PEIM, LibraryClasses.common.SEC] 172 MemoryInitPeiLib|OpenPlatformPkg/Platforms/AMD/Styx/Library/MemoryInitPei/MemoryInitPeiLib.inf 173 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf 174 175[LibraryClasses.common.PEI_CORE] 176 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf 177 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf 178 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf 179 PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf 180 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf 181 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf 182 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf 183 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf 184 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf 185 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf 186 187 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf 188 BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf 189 190[LibraryClasses.common.PEIM] 191 PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf 192 HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf 193 MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf 194 PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf 195 PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf 196 ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf 197 OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf 198 PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf 199 PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf 200 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf 201 ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf 202 203 PeiServicesTablePointerLib|ArmPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf 204 205[LibraryClasses.common.DXE_CORE] 206 HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf 207 MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf 208 DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf 209 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 210 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf 211 UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf 212 PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf 213 214[LibraryClasses.common.DXE_DRIVER] 215 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 216 SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf 217 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf 218 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 219 NonDiscoverableDeviceRegistrationLib|MdeModulePkg/Library/NonDiscoverableDeviceRegistrationLib/NonDiscoverableDeviceRegistrationLib.inf 220 221[LibraryClasses.common.DXE_RUNTIME_DRIVER] 222 HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf 223 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 224 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 225 CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.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 ReportStatusCodeLib|MdeModulePkg/Library/DxeReportStatusCodeLib/DxeReportStatusCodeLib.inf 233 234[LibraryClasses.common.UEFI_DRIVER] 235 ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf 236 UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf 237 ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf 238 PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf 239 MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf 240 241[LibraryClasses.ARM] 242 # 243 # It is not possible to prevent the ARM compiler for generic intrinsic functions. 244 # This library provides the instrinsic functions generate by a given compiler. 245 # [LibraryClasses.ARM] and NULL mean link this library into all ARM images. 246 # 247 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf 248 249[LibraryClasses.AARCH64] 250 NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf 251 NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf 252 253################################################################################################### 254# BuildOptions Section - Define the module specific tool chain flags that should be used as 255# the default flags for a module. These flags are appended to any 256# standard flags that are defined by the build process. 257################################################################################################### 258 259[BuildOptions] 260 GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG 261 262 *_*_*_ASL_FLAGS = -tc -li -l -so 263 *_*_*_ASLPP_FLAGS = $(ARCHCC_FLAGS) 264 *_*_*_ASLCC_FLAGS = $(ARCHCC_FLAGS) 265 266 GCC:*_*_AARCH64_ARCHCC_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64 267 GCC:*_*_AARCH64_PP_FLAGS = -DDO_KCS=$(DO_KCS) -DNUM_CORES=$(NUM_CORES) -DARM_CPU_AARCH64 268 269 GCC:*_*_AARCH64_PLATFORM_FLAGS = -I$(BIN_DIR)/OpenPlatformPkg/Platforms/AMD/Styx/AcpiTables/AcpiAml/OUTPUT 270 271[BuildOptions.common.EDKII.DXE_RUNTIME_DRIVER] 272 GCC:*_*_AARCH64_DLINK_FLAGS = -z common-page-size=0x10000 273 274################################################################################ 275# 276# Pcd Section - list of all EDK II PCD Entries defined by this Platform 277# 278################################################################################ 279 280[PcdsFeatureFlag.common] 281 # All pages are cached by default 282 gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE 283 284 # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress 285 gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE 286 287 gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE 288 289 gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE 290 291 ## If TRUE, Graphics Output Protocol will be installed on virtual handle 292 ## created by ConsplitterDxe. It could be set FALSE to save size. 293 gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|FALSE 294 295[PcdsFixedAtBuild.common] 296 gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000 297 gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000 298 gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000 299 gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000 300 gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF 301 gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1 302 gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0 303 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320 304 305 # DEBUG_ASSERT_ENABLED 0x01 306 # DEBUG_PRINT_ENABLED 0x02 307 # DEBUG_CODE_ENABLED 0x04 308 # CLEAR_MEMORY_ENABLED 0x08 309 # ASSERT_BREAKPOINT_ENABLED 0x10 310 # ASSERT_DEADLOOP_ENABLED 0x20 311!if $(TARGET) == RELEASE 312 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21 313!else 314 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f 315!endif 316 317 # DEBUG_INIT 0x00000001 // Initialization 318 # DEBUG_WARN 0x00000002 // Warnings 319 # DEBUG_LOAD 0x00000004 // Load events 320 # DEBUG_FS 0x00000008 // EFI File system 321 # DEBUG_POOL 0x00000010 // Alloc & Free's 322 # DEBUG_PAGE 0x00000020 // Alloc & Free's 323 # DEBUG_INFO 0x00000040 // Verbose 324 # DEBUG_DISPATCH 0x00000080 // PEI/DXE Dispatchers 325 # DEBUG_VARIABLE 0x00000100 // Variable 326 # DEBUG_BM 0x00000400 // Boot Manager 327 # DEBUG_BLKIO 0x00001000 // BlkIo Driver 328 # DEBUG_NET 0x00004000 // SNI Driver 329 # DEBUG_UNDI 0x00010000 // UNDI Driver 330 # DEBUG_LOADFILE 0x00020000 // UNDI Driver 331 # DEBUG_EVENT 0x00080000 // Event messages 332 # DEBUG_GCD 0x00100000 // Global Coherency Database changes 333 # DEBUG_CACHE 0x00200000 // Memory range cachability changes 334 # DEBUG_ERROR 0x80000000 // Error 335 gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F 336 337 gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07 338 339 # 340 # Optional feature to help prevent EFI memory map fragments 341 # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob 342 # Values are in EFI Pages (4K). DXE Core will make sure that 343 # at least this much of each type of memory can be allocated 344 # from a single memory range. This way you only end up with 345 # maximum of two fragements for each type in the memory map 346 # (the memory used, and the free memory that was prereserved 347 # but not used). 348 # 349 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0 350 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0 351 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0 352 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|1000 353 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|1000 354 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400 355 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|12000 356 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20 357 gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0 358 359 gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE 360 gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 } 361 gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 } 362 363 gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor|L"SoftIron Overdrive 1000" 364 365 # Number of configured cores 366 gArmPlatformTokenSpaceGuid.PcdCoreCount|$(NUM_CORES) 367 368 # Stacks for MPCores in Normal World 369 gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x8001680000 370 gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x10000 371 gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x800 372 373 # Declare system memory base 374 gArmTokenSpaceGuid.PcdSystemMemoryBase|0x8000000000 375 376 # Size of the region used by UEFI in permanent memory (Reserved 64MB) 377 gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000 378 379 # 40 bits of VA space is sufficient to support up to 512 GB of RAM in the 380 # range 0x80_0000_0000 - 0xFF_FFFF_FFFF (all platform and PCI MMIO is below 381 # that) 382 gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40 383 384 # 385 # ARM PrimeCell 386 # 387 388 ## PL011 - Serial Terminal (Atlas UART) 389 gEfiMdeModulePkgTokenSpaceGuid.PcdSerialRegisterBase|0x0E1010000 390 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|115200 391 gEfiMdePkgTokenSpaceGuid.PcdUartDefaultReceiveFifoDepth|0 392 # serial port is clocked at 100MHz 393 gArmPlatformTokenSpaceGuid.PL011UartClkInHz|100000000 394 gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4 395 396 gAmdStyxTokenSpaceGuid.PcdSerialDbgRegisterBase|0x0E1010000 397 gAmdStyxTokenSpaceGuid.PcdUartDbgBaudRate|115200 398 399 # 400 # ARM General Interrupt Controller 401 # 402 gArmTokenSpaceGuid.PcdGicDistributorBase|0xE1110000 403 gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0xE112F000 404 405 # 406 # ARM Architectual Timer Frequency 407 # 408 gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|187500000 409 410 # 411 # 2 ports active on Overdrive 1000 412 # 413 gAmdStyxTokenSpaceGuid.PcdSata0PortCount|2 414 gAmdStyxTokenSpaceGuid.PcdSata1PortCount|0 415 416 # PCIe Support 417 gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xF0000000 418 419 gArmTokenSpaceGuid.PcdPciBusMin|0x0 420 gArmTokenSpaceGuid.PcdPciBusMax|0xFF 421 422 gArmTokenSpaceGuid.PcdPciIoBase|0x1000 423 gArmTokenSpaceGuid.PcdPciIoSize|0xF000 424 gArmTokenSpaceGuid.PcdPciIoTranslation|0xEFFF0000 425 gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16 426 427 gArmTokenSpaceGuid.PcdPciMmio32Base|0x40000000 428 gArmTokenSpaceGuid.PcdPciMmio32Size|0x80000000 429 gArmTokenSpaceGuid.PcdPciMmio32Translation|0x0 430 431 gArmTokenSpaceGuid.PcdPciMmio64Base|0x100000000 432 gArmTokenSpaceGuid.PcdPciMmio64Size|0x7F00000000 433 gArmTokenSpaceGuid.PcdPciMmio64Translation|0x0 434 435 ## Use PCI emulation for ATA PassThru 436 # gEfiMdeModulePkgTokenSpaceGuid.PcdAtaPassThruPciEmulation|TRUE 437 438 ## ACPI (no tables < 4GB) 439 gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiExposedTableVersions|0x20 440 441!if $(DO_PSCI) 442 gAmdStyxTokenSpaceGuid.PcdPsciOsSupport|TRUE 443!else 444 gAmdStyxTokenSpaceGuid.PcdPsciOsSupport|FALSE 445!endif 446 447!if $(DO_ISCP) 448 gAmdStyxTokenSpaceGuid.PcdIscpSupport|TRUE 449!else 450 gAmdStyxTokenSpaceGuid.PcdIscpSupport|FALSE 451!endif 452 453 # SMBIOS 3.0 only 454 gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosEntryPointProvideMethod|0x2 455 456 gAmdModulePkgTokenSpaceGuid.PcdSataNumChPerSerdes|2 457 gAmdModulePkgTokenSpaceGuid.PcdSataSerdesBase|0xE1200000 458 gAmdModulePkgTokenSpaceGuid.PcdSataSerdesOffset|0x00010000 459 460 # map the stack as non-executable when entering the DXE phase 461 gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE 462 463[PcdsPatchableInModule] 464# PCIe Configuration: x4x2x2 (=2 See Include/FDKGionb.h) 465 gAmdModulePkgTokenSpaceGuid.PcdPcieCoreConfiguration|2 466 gAmdModulePkgTokenSpaceGuid.PcdPciePort0Present|0 467 gAmdModulePkgTokenSpaceGuid.PcdPciePort1Present|1 468 gAmdModulePkgTokenSpaceGuid.PcdPciePort2Present|1 469 gAmdModulePkgTokenSpaceGuid.PcdPcieHardcodeEnumeration|TRUE 470 471[PcdsDynamicDefault.common] 472 gAmdStyxTokenSpaceGuid.PcdSocCoreCount|$(NUM_CORES) 473 gArmTokenSpaceGuid.PcdSystemMemorySize|0x0400000000 474 475 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0x0 476 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0 477 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0x0 478 479[PcdsDynamicExHii.common.DEFAULT] 480 gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|L"Timeout"|gEfiGlobalVariableGuid|0x0|5 481 482################################################################################ 483# 484# Components Section - list of all EDK II Modules needed by this Platform 485# 486################################################################################ 487[Components.common] 488 489 # 490 # PEI Phase modules 491 # 492 ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf 493 MdeModulePkg/Core/Pei/PeiMain.inf 494 MdeModulePkg/Universal/PCD/Pei/Pcd.inf { 495 <LibraryClasses> 496 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 497 } 498 ArmPlatformPkg/PlatformPei/PlatformPeim.inf 499 AmdModulePkg/Iscp/IscpPei.inf 500 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/PlatInitPei/PlatInitPei.inf 501 ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf 502 ArmPkg/Drivers/CpuPei/CpuPei.inf 503 MdeModulePkg/Universal/Variable/Pei/VariablePei.inf 504 MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf { 505 <LibraryClasses> 506 NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf 507 } 508 509 # 510 # DXE 511 # 512 MdeModulePkg/Core/Dxe/DxeMain.inf { 513 <LibraryClasses> 514 NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf 515 } 516 MdeModulePkg/Universal/PCD/Dxe/Pcd.inf { 517 <LibraryClasses> 518 PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf 519 } 520 521 # 522 # Architectural Protocols 523 # 524 ArmPkg/Drivers/CpuDxe/CpuDxe.inf 525 MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf 526 MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf 527 MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf 528 MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf 529 MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf 530 EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf 531 EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf 532 EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf 533 MdeModulePkg/Universal/EbcDxe/EbcDxe.inf 534 535 # 536 # Console IO support 537 # 538 MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf 539 MdeModulePkg/Universal/SerialDxe/SerialDxe.inf 540 541 MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf 542 MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf 543 544 ArmPkg/Drivers/ArmGic/ArmGicDxe.inf 545 ArmPkg/Drivers/TimerDxe/TimerDxe.inf 546 547 # 548 # Environment Variables Protocol 549 # 550 MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf { 551 <LibraryClasses> 552 AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf 553 TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf 554 VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf 555 NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf 556 } 557 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/StyxSpiFvDxe/StyxSpiFvDxe.inf 558 559 # 560 # Iscp support 561 # 562 AmdModulePkg/Iscp/IscpDxe.inf 563 564 # 565 # FDT support 566 # 567 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/FdtDxe/FdtDxe.inf { 568 <LibraryClasses> 569 # deprecated BdsLib from the ARM BDS 570 BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf 571 FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf 572 } 573 574 # 575 # PCI support 576 # 577 AmdModulePkg/Gionb/Gionb.inf 578 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf 579 MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf 580 MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf 581 582 # 583 # MP-Boot: ACPI[Parking Protocol] + FDT[Spin-Table] 584 # 585 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/MpBootDxe/MpBootDxe.inf 586 587 # 588 # AHCI Support 589 # 590 MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf 591 MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf 592 MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf 593 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf 594 MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf 595 MdeModulePkg/Bus/Pci/NonDiscoverablePciDeviceDxe/NonDiscoverablePciDeviceDxe.inf 596 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/StyxSataPlatformDxe/StyxSataPlatformDxe.inf 597 598 # 599 # USB Support 600 # 601 MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf 602 MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf 603 MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf 604 MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf 605 MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf 606 607 # 608 # Marvell Yukon Ethernet (Overdrive 1000 has 88e8059) 609 # 610 OpenPlatformPkg/Drivers/Net/MarvellYukonDxe/MarvellYukonDxe.inf 611 612 # 613 # Networking stack 614 # 615 MdeModulePkg/Universal/Network/SnpDxe/SnpDxe.inf 616 MdeModulePkg/Universal/Network/DpcDxe/DpcDxe.inf 617 MdeModulePkg/Universal/Network/ArpDxe/ArpDxe.inf 618 MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Dxe.inf 619# MdeModulePkg/Universal/Network/Ip4ConfigDxe/Ip4ConfigDxe.inf 620 MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Dxe.inf 621 MdeModulePkg/Universal/Network/MnpDxe/MnpDxe.inf { 622 <PcdsFixedAtBuild> 623 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21 624 } 625 MdeModulePkg/Universal/Network/VlanConfigDxe/VlanConfigDxe.inf 626 MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Dxe.inf 627 MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Dxe.inf 628 MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Dxe.inf 629 MdeModulePkg/Universal/Network/UefiPxeBcDxe/UefiPxeBcDxe.inf 630## Bug https://bugs.linaro.org/show_bug.cgi?id=2239 631# MdeModulePkg/Universal/Network/IScsiDxe/IScsiDxe.inf 632 633 # 634 # Core Info 635 # 636 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/PlatInitDxe/PlatInitDxe.inf 637 638 # 639 # ACPI Support 640 # 641 MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf 642 OpenPlatformPkg/Platforms/AMD/Styx/AcpiTables/AcpiAml.inf 643 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/AcpiPlatformDxe/AcpiPlatformDxe.inf 644 645 # 646 # SMBIOS Support 647 # 648 MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf 649 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/PlatformSmbiosDxe/PlatformSmbiosDxe.inf 650 651 # 652 # FAT filesystem + GPT/MBR partitioning 653 # 654 MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf 655 MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf 656 FatPkg/EnhancedFatDxe/Fat.inf 657 MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf 658 659 # 660 # Bds 661 # 662 MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf 663 MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf 664 MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf 665 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf 666 MdeModulePkg/Application/UiApp/UiApp.inf { 667 <LibraryClasses> 668 NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf 669 NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf 670 NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf 671 } 672 673 # 674 # Crypto Accelerator support (RNG only) 675 # 676 OpenPlatformPkg/Platforms/AMD/Styx/Drivers/StyxRngDxe/StyxRngDxe.inf 677 678 # 679 # UEFI application (Shell Embedded Boot Loader) 680 # 681 ShellPkg/Application/Shell/Shell.inf { 682 <LibraryClasses> 683 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf 684 NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf 685 NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf 686 NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf 687 NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf 688 NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf 689 NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf 690 NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf 691 NULL|ShellPkg/Library/UefiShellTftpCommandLib/UefiShellTftpCommandLib.inf 692 HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf 693 PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf 694 BcfgCommandLib|ShellPkg/Library/UefiShellBcfgCommandLib/UefiShellBcfgCommandLib.inf 695 696 FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf 697 ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf 698 699 <PcdsFixedAtBuild> 700 gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF 701 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE 702 gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|8000 703 } 704