• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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