]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmPlatformPkg.dsc
FatBinPkg: Update EBC/IA32/X64/IPF binaries
[mirror_edk2.git] / ArmPlatformPkg / ArmPlatformPkg.dsc
index a1924a3b5bbbfd746c858b69669b9d80e8aa9b52..5b857e57af40cea43491d75c89dc0fd27ffa8f59 100644 (file)
@@ -1,13 +1,13 @@
 #\r
-#  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\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
+#  Copyright (c) 2011-2015, ARM Limited. All rights reserved.\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
 [Defines]\r
   PLATFORM_NAME                  = ArmPlatform\r
-  PLATFORM_GUID                  = 4fe82b83-9315-4ff3-8cc0-ab77ca93cb7f \r
+  PLATFORM_GUID                  = 4fe82b83-9315-4ff3-8cc0-ab77ca93cb7f\r
   PLATFORM_VERSION               = 0.1\r
   DSC_SPECIFICATION              = 0x00010005\r
   OUTPUT_DIRECTORY               = Build/$(PLATFORM_NAME)\r
-  SUPPORTED_ARCHITECTURES        = ARM\r
+  SUPPORTED_ARCHITECTURES        = ARM|AARCH64\r
   BUILD_TARGETS                  = DEBUG|RELEASE\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = ArmPlatformPkg/ArmPlatformPkg.fdf\r
 \r
 [LibraryClasses.common]\r
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
-  ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
   ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf\r
 \r
 !if $(TARGET) == RELEASE\r
@@ -40,7 +38,7 @@
 #  UncachedMemoryAllocationLib|ArmPkg/Library/DebugUncachedMemoryAllocationLib/DebugUncachedMemoryAllocationLib.inf\r
 !endif\r
   DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf\r
-  \r
+\r
   BaseLib|MdePkg/Library/BaseLib/BaseLib.inf\r
   SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf\r
   PerformanceLib|MdePkg/Library/BasePerformanceLibNull/BasePerformanceLibNull.inf\r
@@ -60,7 +58,7 @@
   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
+  UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
 \r
   UefiRuntimeLib|MdePkg/Library/UefiRuntimeLib/UefiRuntimeLib.inf\r
 \r
@@ -68,7 +66,7 @@
   # Assume everything is fixed at build\r
   #\r
   PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf\r
-  \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
   CpuExceptionHandlerLib|MdeModulePkg/Library/CpuExceptionHandlerLibNull/CpuExceptionHandlerLibNull.inf\r
   ArmDisassemblerLib|ArmPkg/Library/ArmDisassemblerLib/ArmDisassemblerLib.inf\r
   DmaLib|ArmPkg/Library/ArmDmaLib/ArmDmaLib.inf\r
-  ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf\r
+  ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicLib.inf\r
+  ArmGicArchLib|ArmPkg/Library/ArmGicArchLib/ArmGicArchLib.inf\r
+  ArmSmcLib|ArmPkg/Library/ArmSmcLib/ArmSmcLib.inf\r
 \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
-  # EBL Related Libraries  \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
   #\r
-  # Uncomment (and comment out the next line) For RealView Debugger. The Standard IO window \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
   #PeCoffExtraActionLib|ArmPkg/Library/RvdPeCoffExtraActionLib/RvdPeCoffExtraActionLib.inf\r
   PeCoffExtraActionLib|ArmPkg/Library/DebugPeCoffExtraActionLib/DebugPeCoffExtraActionLib.inf\r
   #PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf\r
-    \r
+\r
   DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf\r
   DebugAgentTimerLib|EmbeddedPkg/Library/DebugAgentTimerLibNull/DebugAgentTimerLibNull.inf\r
 \r
-  SemihostLib|ArmPkg/Library/SemihostLib/SemihostLib.inf  \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
-  ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\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
+\r
   DebugAgentLib|ArmPkg/Library/DebugAgentSymbolsBaseLib/DebugAgentSymbolsBaseLib.inf\r
+  DefaultExceptionHandlerLib|ArmPkg/Library/DefaultExceptionHandlerLib/DefaultExceptionHandlerLibBase.inf\r
+\r
+  ArmGicArchLib|ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.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
   PeCoffGetEntryPointLib|MdePkg/Library/BasePeCoffGetEntryPointLib/BasePeCoffGetEntryPointLib.inf\r
   UefiDecompressLib|MdePkg/Library/BaseUefiDecompressLib/BaseUefiDecompressLib.inf\r
   ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf\r
-  \r
+\r
   ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
   PeiServicesTablePointerLib|ArmPlatformPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf\r
-  \r
+\r
 [LibraryClasses.common.PEIM]\r
   HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf\r
   PeiServicesLib|MdePkg/Library/PeiServicesLib/PeiServicesLib.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
   ReportStatusCodeLib|IntelFrameworkModulePkg/Library/DxeReportStatusCodeLibFramework/DxeReportStatusCodeLib.inf\r
   CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
 \r
-[LibraryClasses.ARM]\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
   #\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
   gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnosticsDisable|TRUE\r
   gEfiMdePkgTokenSpaceGuid.PcdComponentName2Disable|TRUE\r
   gEfiMdePkgTokenSpaceGuid.PcdDriverDiagnostics2Disable|TRUE\r
-  \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
+  #\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedMacBoot|TRUE\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedDirCmd|TRUE\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedHobCmd|TRUE\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedScriptCmd|FALSE\r
 \r
   gEmbeddedTokenSpaceGuid.PcdCacheEnable|TRUE\r
-  \r
+\r
   # Use the Vector Table location in CpuDxe. We will not copy the Vector Table at PcdCpuVectorBaseAddress\r
   gArmTokenSpaceGuid.PcdRelocateVectorTable|FALSE\r
-  \r
+\r
   gEmbeddedTokenSpaceGuid.PcdPrePiProduceMemoryTypeInformationHob|TRUE\r
-  \r
+\r
   gEfiMdeModulePkgTokenSpaceGuid.PcdTurnOffUsbLegacySupport|TRUE\r
 \r
 [PcdsFixedAtBuild.common]\r
   gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Platform"\r
-  \r
+\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmPlatform"\r
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|32\r
-  gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|0\r
   gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength|1000000\r
   gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength|1000000\r
   gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength|1000000\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedAutomaticBootCommand|""\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedDefaultTextColor|0x07\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedMemVariableStoreSize|0x10000\r
-  \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
+  # 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
   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiBootServicesData|20000\r
   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderCode|20\r
   gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiLoaderData|0\r
-    \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
+\r
   # Stacks for MPCores in Secure World\r
   gArmPlatformTokenSpaceGuid.PcdCPUCoresSecStackBase|0\r
   # Stacks for MPCores in Monitor Mode\r
 #\r
 ################################################################################\r
 [Components.common]\r
-  \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/PL390Gic/PL390GicSecLib.inf\r
+      ArmGicLib|ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf\r
   }\r
-  \r
+\r
   #\r
   # PEI Phase modules\r
   #\r
   MdeModulePkg/Universal/Variable/Pei/VariablePei.inf\r
   MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf {\r
     <LibraryClasses>\r
-      NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
+      NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
   }\r
 \r
   #\r
   #\r
   # Architectural Protocols\r
   #\r
-  ArmPkg/Drivers/CpuDxe/CpuDxe.inf  \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/EmbeddedMonotonicCounter/EmbeddedMonotonicCounter.inf\r
+\r
   EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf\r
   EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf\r
   EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf\r
-  \r
+\r
   # Simple TextIn/TextOut for UEFI Terminal\r
   EmbeddedPkg/SimpleTextInOutSerial/SimpleTextInOutSerial.inf\r
-  \r
+\r
   #\r
   # Semi-hosting filesystem\r
   #\r
   ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
-  \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
-  \r
+\r
   #\r
   # Application\r
-  #  \r
+  #\r
   EmbeddedPkg/Ebl/Ebl.inf\r
 \r
   #\r
   #\r
   MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
   ArmPlatformPkg/Bds/Bds.inf\r
-  \r
+\r
+  # Legacy Linux Loader\r
+  ArmPkg/Application/LinuxLoader/LinuxLoader.inf\r