]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmPlatformPkg.dsc
BaseTools/Capsule: Do not support -o with --dump-info
[mirror_edk2.git] / ArmPlatformPkg / ArmPlatformPkg.dsc
index 0f59fec113f11231f1a7195646b226224d8dcb44..d504e76b2f564c83a632cef8c4542ef01fbcff62 100644 (file)
+#/** @file\r
+# ARM platform package.\r
 #\r
-#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.\r
+# Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>\r
+# Copyright (c) 2011 - 2018, ARM Ltd. All rights reserved.<BR>\r
+# Copyright (c) 2016 - 2017, Linaro Ltd. All rights reserved.<BR>\r
 #\r
-#  This program and the accompanying materials\r
-#  are licensed and made available under the terms and conditions of the BSD License\r
-#  which accompanies this distribution.  The full text of the license may be found at\r
-#  http://opensource.org/licenses/bsd-license.php\r
-#\r
-#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+#    This program and the accompanying materials\r
+#    are licensed and made available under the terms and conditions of the BSD License\r
+#    which accompanies this distribution. The full text of the license may be found at\r
+#    http://opensource.org/licenses/bsd-license.php\r
 #\r
+#    THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#    WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 #\r
+#**/\r
+\r
 ################################################################################\r
 #\r
 # Defines Section - statements that will be processed to create a Makefile.\r
 #\r
 ################################################################################\r
 [Defines]\r
-  PLATFORM_NAME                  = ArmPlatform\r
-  PLATFORM_GUID                  = 4fe82b83-9315-4ff3-8cc0-ab77ca93cb7f\r
+  PLATFORM_NAME                  = ArmPlatformPkg\r
+  PLATFORM_GUID                  = 9ce08891-ac9c-476d-ab04-0c04d3a97544\r
   PLATFORM_VERSION               = 0.1\r
-  DSC_SPECIFICATION              = 0x00010005\r
-  OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)\r
+  DSC_SPECIFICATION              = 0x0001001A\r
+  OUTPUT_DIRECTORY               = Build/ArmPlatform\r
   SUPPORTED_ARCHITECTURES        = ARM|AARCH64\r
-  BUILD_TARGETS                  = DEBUG|RELEASE\r
+  BUILD_TARGETS                  = DEBUG|RELEASE|NOOPT\r
   SKUID_IDENTIFIER               = DEFAULT\r
-  FLASH_DEFINITION               = ArmPlatformPkg/ArmPlatformPkg.fdf\r
 \r
-[LibraryClasses.common]\r
-  ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf\r
+[BuildOptions]\r
+  RELEASE_*_*_CC_FLAGS  = -DMDEPKG_NDEBUG\r
+  *_*_*_CC_FLAGS  = -DDISABLE_NEW_DEPRECATED_INTERFACES\r
 \r
-!if $(TARGET) == RELEASE\r
-  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
-!else\r
-  DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf\r
-  UncachedMemoryAllocationLib|ArmPkg/Library/UncachedMemoryAllocationLib/UncachedMemoryAllocationLib.inf\r
-#  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf\r
-!endif\r
-  DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
+[PcdsFixedAtBuild]\r
+  gArmTokenSpaceGuid.PcdFdBaseAddress|0x0\r
+  gArmTokenSpaceGuid.PcdFdSize|0x1000\r
 \r
+[LibraryClasses.common]\r
+  ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf\r
+  ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf\r
+  ArmLib|ArmPkg/Library/ArmLib/ArmBaseLib.inf\r
+  ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf\r
+  ArmPlatformStackLib|ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf\r
+  ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf\r
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
-  SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
-  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
-  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
-  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
-  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  CpuLib|MdePkg/Library/BaseCpuLib/BaseCpuLib.inf\r
-\r
-  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
-  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
-  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
-  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
+  BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
+  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
+  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
+  DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
   DxeServicesTableLib|MdePkg/Library/DxeServicesTableLib/DxeServicesTableLib.inf\r
-  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
-  UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf\r
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
-  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
-\r
-  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
-\r
-  #\r
-  # Assume everything is fixed at build\r
-  #\r
+  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
+  IoLib|MdePkg/Library/BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf\r
+  LcdHwLib|ArmPlatformPkg/Library/LcdHwNullLib/LcdHwNullLib.inf\r
+  LcdPlatformLib|ArmPlatformPkg/Library/LcdPlatformNullLib/LcdPlatformNullLib.inf\r
+  LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
+  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
+  NorFlashPlatformLib|ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlashPlatformNullLib.inf\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-\r
-  # 1/123 faster than Stm or Vstm version\r
-  #BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf\r
-  BaseMemoryLib|ArmPkg/Library/BaseMemoryLibStm/BaseMemoryLibStm.inf\r
-\r
-  # ARM Architectural Libraries\r
-  CacheMaintenanceLib|ArmPkg/Library/ArmCacheMaintenanceLib/ArmCacheMaintenanceLib.inf\r
-  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLib.inf\r
-  CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf\r
-  ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf\r
-  DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf\r
-  ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf\r
-  ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf\r
-  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf\r
-\r
+  PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
+  PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf\r
+  PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
+  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
+  PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf\r
+  PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf\r
   SerialPortLib|MdePkg/Library/BaseSerialPortLibNull/BaseSerialPortLibNull.inf\r
   TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
-  EfiResetSystemLib|EmbeddedPkg/Library/TemplateResetSystemLib/TemplateResetSystemLib.inf\r
-  RealTimeClockLib|EmbeddedPkg/Library/TemplateRealTimeClockLib/TemplateRealTimeClockLib.inf\r
-\r
-  # Networking Requirements for ArmPlatformPkg/Bds\r
-  NetLib|MdeModulePkg/Library/DxeNetLib/DxeNetLib.inf\r
-\r
-  # These libraries are used by the dynamic EFI Shell commands\r
-  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
-  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
-  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
-\r
-  # EBL Related Libraries\r
-  EblCmdLib|ArmPlatformPkg/Library/EblCmdLib/EblCmdLib.inf\r
-  EfiFileLib|EmbeddedPkg/Library/EfiFileLib/EfiFileLib.inf\r
-  EblAddExternalCommandLib|EmbeddedPkg/Library/EblAddExternalCommandLib/EblAddExternalCommandLib.inf\r
-  EblNetworkLib|EmbeddedPkg/Library/EblNetworkLib/EblNetworkLib.inf\r
-\r
-  #\r
-  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window\r
-  # in the debugger will show load and unload commands for symbols. You can cut and paste this\r
-  # into the command window to load symbols. We should be able to use a script to do this, but\r
-  # the version of RVD I have does not support scripts accessing system memory.\r
-  #\r
-  #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf\r
-  PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf\r
-  #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
-\r
-  DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
-  DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf\r
-\r
-  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf\r
-\r
-  # BDS Libraries\r
-  BdsLib|ArmPkg/Library/BdsLib/BdsLib.inf\r
-  FdtLib|EmbeddedPkg/Library/FdtLib/FdtLib.inf\r
-\r
-[LibraryClasses.ARM]\r
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
-\r
-[LibraryClasses.AARCH64]\r
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf\r
-  ArmGenericTimerCounterLib|ArmPkg/Library/ArmGenericTimerPhyCounterLib/ArmGenericTimerPhyCounterLib.inf\r
-\r
-[LibraryClasses.common.SEC]\r
-  ArmPlatformSecLib|ArmPlatformPkg/Library/ArmPlatformSecLibNull/ArmPlatformLibNullSec.inf\r
-  ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNullSec.inf\r
-  ArmTrustedMonitorLib|ArmPlatformPkg/Library/ArmTrustedMonitorLibNull/ArmTrustedMonitorLibNull.inf\r
-\r
-  ArmPlatformSecExtraActionLib|ArmPlatformPkg/Library/DebugSecExtraActionLib/DebugSecExtraActionLib.inf\r
-  ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Sec/SecArmPlatformGlobalVariableLib.inf\r
-\r
-  DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf\r
-  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf\r
-\r
-[LibraryClasses.common.SEC, LibraryClasses.common.PEIM]\r
-  MemoryInitPeiLib|ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
-\r
-[LibraryClasses.ARM.SEC]\r
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
-\r
-[LibraryClasses.AARCH64.SEC]\r
-  ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64LibSec.inf\r
-\r
-[LibraryClasses.common.PEI_CORE]\r
-  HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
-  PeiCoreEntryPoint|MdePkg/Library/PeiCoreEntryPoint/PeiCoreEntryPoint.inf\r
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
-  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
+  UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf\r
   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
+  UefiDriverEntryPoint|MdePkg/Library/UefiDriverEntryPoint/UefiDriverEntryPoint.inf\r
+  UefiLib|MdePkg/Library/UefiLib/UefiLib.inf\r
+  UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
+  DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf\r
+  UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf\r
 \r
-  ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
+  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
 \r
 [LibraryClasses.common.PEIM]\r
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
-  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
   MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf\r
   PeimEntryPoint|MdePkg/Library/PeimEntryPoint/PeimEntryPoint.inf\r
-  PerformanceLib|MdeModulePkg/Library/PeiPerformanceLib/PeiPerformanceLib.inf\r
-  ReportStatusCodeLib|MdeModulePkg/Library/PeiReportStatusCodeLib/PeiReportStatusCodeLib.inf\r
-  OemHookStatusCodeLib|MdeModulePkg/Library/OemHookStatusCodeLibNull/OemHookStatusCodeLibNull.inf\r
-  PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
-  PeiResourcePublicationLib|MdePkg/Library/PeiResourcePublicationLib/PeiResourcePublicationLib.inf\r
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
-\r
-  ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
-  PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
-  PlatformPeiLib|ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
-\r
-[LibraryClasses.common.DXE_CORE]\r
-  HobLib|MdePkg/Library/DxeCoreHobLib/DxeCoreHobLib.inf\r
-  MemoryAllocationLib|MdeModulePkg/Library/DxeCoreMemoryAllocationLib/DxeCoreMemoryAllocationLib.inf\r
-  DxeCoreEntryPoint|MdePkg/Library/DxeCoreEntryPoint/DxeCoreEntryPoint.inf\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
-  UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxeCorePerformanceLib/DxeCorePerformanceLib.inf\r
-\r
-[LibraryClasses.common.DXE_DRIVER]\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
-  SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Dxe/DxeArmPlatformGlobalVariableLib.inf\r
-\r
-[LibraryClasses.common.UEFI_APPLICATION]\r
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
-\r
-[LibraryClasses.common.UEFI_DRIVER]\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  UefiDecompressLib|IntelFrameworkModulePkg/Library/BaseUefiTianoCustomDecompressLib/BaseUefiTianoCustomDecompressLib.inf\r
-  ExtractGuidedSectionLib|MdePkg/Library/DxeExtractGuidedSectionLib/DxeExtractGuidedSectionLib.inf\r
-  PerformanceLib|MdeModulePkg/Library/DxePerformanceLib/DxePerformanceLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-\r
-[LibraryClasses.common.DXE_RUNTIME_DRIVER]\r
-  HobLib|MdePkg/Library/DxeHobLib/DxeHobLib.inf\r
-  MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf\r
-  ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
-  CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
-\r
-[LibraryClasses.ARM, LibraryClasses.AARCH64]\r
-  #\r
-  # It is not possible to prevent the ARM compiler for generic intrinsic functions.\r
-  # This library provides the instrinsic functions generate by a given compiler.\r
-  # [LibraryClasses.ARM] and NULL mean link this library into all ARM images.\r
-  #\r
-  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
-\r
-  # Add support for GCC stack protector\r
-  NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
-\r
-[BuildOptions]\r
-  XCODE:*_*_ARM_PLATFORM_FLAGS == -arch armv7\r
-\r
-  GCC:*_*_ARM_PLATFORM_FLAGS == -march=armv7-a\r
-\r
-  RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A8\r
-\r
-################################################################################\r
-#\r
-# Pcd Section - list of all EDK II PCD Entries defined by this Platform\r
-#\r
-################################################################################\r
-\r
-[PcdsFeatureFlag.common]\r
-  gEfiMdePkgTokenSpaceGuid.PcdComponentNameDisable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
-  gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\r
-\r
-  #\r
-  # Control what commands are supported from the UI\r
-  # Turn these on and off to add features or save size\r
-  #\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedHwDebugCmd|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPciDebugCmd|TRUE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedIoEnable|FALSE\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE\r
-\r
-  gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE\r
-\r
-  # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress\r
-  gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE\r
-\r
-  gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE\r
-\r
-  gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
-\r
-[PcdsFixedAtBuild.common]\r
-  gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Platform"\r
-\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmPlatform"\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000\r
-  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000\r
-  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout|10000000\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugClearMemoryValue|0xAF\r
-  gEfiMdePkgTokenSpaceGuid.PcdPerformanceLibraryPropertyMask|1\r
-  gEfiMdePkgTokenSpaceGuid.PcdPostCodePropertyMask|0\r
-  gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|320\r
-\r
-  # DEBUG_ASSERT_ENABLED       0x01\r
-  # DEBUG_PRINT_ENABLED        0x02\r
-  # DEBUG_CODE_ENABLED         0x04\r
-  # CLEAR_MEMORY_ENABLED       0x08\r
-  # ASSERT_BREAKPOINT_ENABLED  0x10\r
-  # ASSERT_DEADLOOP_ENABLED    0x20\r
-!if $(TARGET) == RELEASE\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x21\r
-!else\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x2f\r
-!endif\r
-\r
-  #  DEBUG_INIT      0x00000001  // Initialization\r
-  #  DEBUG_WARN      0x00000002  // Warnings\r
-  #  DEBUG_LOAD      0x00000004  // Load events\r
-  #  DEBUG_FS        0x00000008  // EFI File system\r
-  #  DEBUG_POOL      0x00000010  // Alloc & Free's\r
-  #  DEBUG_PAGE      0x00000020  // Alloc & Free's\r
-  #  DEBUG_INFO      0x00000040  // Verbose\r
-  #  DEBUG_DISPATCH  0x00000080  // PEI/DXE Dispatchers\r
-  #  DEBUG_VARIABLE  0x00000100  // Variable\r
-  #  DEBUG_BM        0x00000400  // Boot Manager\r
-  #  DEBUG_BLKIO     0x00001000  // BlkIo Driver\r
-  #  DEBUG_NET       0x00004000  // SNI Driver\r
-  #  DEBUG_UNDI      0x00010000  // UNDI Driver\r
-  #  DEBUG_LOADFILE  0x00020000  // UNDI Driver\r
-  #  DEBUG_EVENT     0x00080000  // Event messages\r
-  #  DEBUG_ERROR     0x80000000  // Error\r
-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000000F\r
-\r
-  gEfiMdePkgTokenSpaceGuid.PcdReportStatusCodePropertyMask|0x07\r
-\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07\r
-  gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000\r
-\r
-  #\r
-  # Optional feature to help prevent EFI memory map fragments\r
-  # Turned on and off via: PcdPrePiProduceMemoryTypeInformationHob\r
-  # Values are in EFI Pages (4K). DXE Core will make sure that\r
-  # at least this much of each type of memory can be allocated\r
-  # from a single memory range. This way you only end up with\r
-  # maximum of two fragements for each type in the memory map\r
-  # (the memory used, and the free memory that was prereserved\r
-  # but not used).\r
-  #\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIReclaimMemory|0\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiACPIMemoryNVS|0\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiReservedMemoryType|0\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|50\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|20\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesCode|400\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20\r
-  gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0\r
-\r
-  # We want to use the Shell Libraries but don't want it to initialise\r
-  # automatically. We initialise the libraries when the command is called by the\r
-  # Shell.\r
-  gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE\r
-\r
-  #\r
-  # ARM Pcds\r
-  #\r
-  gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000000000000\r
-\r
-  # Stacks for MPCores in Secure World\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0\r
-  # Stacks for MPCores in Monitor Mode\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresSecMonStackBase|0\r
-  # Stacks for MPCores in Normal World\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0\r
+  PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.inf\r
+  PeiServicesTablePointerLib|MdePkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
 \r
-  gArmTokenSpaceGuid.PcdSystemMemoryBase|0\r
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0\r
+[LibraryClasses.common.SEC]\r
+  ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf\r
+  HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf\r
+  MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf\r
+  PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
 \r
-################################################################################\r
-#\r
-# Components Section - list of all EDK II Modules needed by this Platform\r
-#\r
-################################################################################\r
 [Components.common]\r
-\r
-  #\r
-  # SEC\r
-  #\r
-  ArmPlatformPkg/Sec/Sec.inf {\r
-    <LibraryClasses>\r
-      # Use the implementation which set the Secure bits\r
-      ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
-  }\r
-\r
-  #\r
-  # PEI Phase modules\r
-  #\r
-  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf {\r
-    <LibraryClasses>\r
-      ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
-  }\r
-  MdeModulePkg/Core/Pei/PeiMain.inf\r
-  MdeModulePkg/Universal/PCD/Pei/Pcd.inf  {\r
-    <LibraryClasses>\r
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-  }\r
-  ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
+  ArmPlatformPkg/Drivers/LcdGraphicsOutputDxe/LcdGraphicsOutputDxe.inf\r
+  ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf\r
+  ArmPlatformPkg/Drivers/PL061GpioDxe/PL061GpioDxe.inf\r
+  ArmPlatformPkg/Drivers/PL180MciDxe/PL180MciDxe.inf\r
+  ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
+\r
+  ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf\r
+  ArmPlatformPkg/Library/ArmPlatformStackLib/ArmPlatformStackLib.inf\r
+  ArmPlatformPkg/Library/LcdHwNullLib/LcdHwNullLib.inf\r
+  ArmPlatformPkg/Library/LcdPlatformNullLib/LcdPlatformNullLib.inf\r
+  ArmPlatformPkg/Library/NorFlashPlatformNullLib/NorFlashPlatformNullLib.inf\r
+  ArmPlatformPkg/Library/PL011SerialPortLib/PL011SerialPortLib.inf\r
+  ArmPlatformPkg/Library/PL011UartClockLib/PL011UartClockLib.inf\r
+  ArmPlatformPkg/Library/PL011UartLib/PL011UartLib.inf\r
+  ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf\r
+  ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf\r
+\r
+  ArmPlatformPkg/MemoryInitPei/MemoryInitPeiLib.inf\r
   ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf\r
-  ArmPkg/Drivers/CpuPei/CpuPei.inf\r
-  IntelFrameworkModulePkg/Universal/StatusCode/Pei/StatusCodePei.inf\r
-  Nt32Pkg/BootModePei/BootModePei.inf\r
-  MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
-  MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
-    <LibraryClasses>\r
-      NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
-  }\r
-\r
-  #\r
-  # DXE\r
-  #\r
-  MdeModulePkg/Core/Dxe/DxeMain.inf {\r
-    <LibraryClasses>\r
-      PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-      NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf\r
-  }\r
-\r
-  #\r
-  # Architectural Protocols\r
-  #\r
-  ArmPkg/Drivers/CpuDxe/CpuDxe.inf\r
-  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
-  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
-  MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
-  MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf\r
-  MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariableRuntimeDxe.inf\r
-  EmbeddedPkg/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
 \r
-  EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
-  EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
-  EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-\r
-  # Simple TextIn/TextOut for UEFI Terminal\r
-  EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf\r
-\r
-  #\r
-  # Semi-hosting filesystem\r
-  #\r
-  ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-\r
-  #\r
-  # FAT filesystem + GPT/MBR partitioning\r
-  #\r
-  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
-  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-  MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
+  ArmPlatformPkg/PlatformPei/PlatformPeim.inf\r
+  ArmPlatformPkg/PlatformPei/PlatformPeiLib.inf\r
 \r
-  #\r
-  # Application\r
-  #\r
-  EmbeddedPkg/Ebl/Ebl.inf\r
+  ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf\r
+  ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf\r
 \r
-  #\r
-  # Bds\r
-  #\r
-  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
-  ArmPlatformPkg/Bds/Bds.inf\r
+  ArmPlatformPkg/PrePi/PeiMPCore.inf\r
+  ArmPlatformPkg/PrePi/PeiUniCore.inf\r
 \r
-  # Legacy Linux Loader\r
-  ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r
+  ArmPlatformPkg/Library/ArmMaliDp/ArmMaliDp.inf\r