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