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