]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.dsc
ArmPlatformPkg/ArmVExpressPkg: CTA9x4: Default to EDK2_ARMVE_STANDALONE=1
[mirror_edk2.git] / ArmPlatformPkg / ArmVExpressPkg / ArmVExpress-CTA9x4.dsc
index d2c13a9ff7f9620099f46329e10fd9e22e7dc2c1..2b4484ab8639b2ef343320b8cdce1f9546dc9a4d 100644 (file)
@@ -1,5 +1,5 @@
 #\r
-#  Copyright (c) 2011, ARM Limited. All rights reserved.\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
   PLATFORM_GUID                  = eb2bd5ff-2379-4a06-9c12-db905cdee9ea \r
   PLATFORM_VERSION               = 0.1\r
   DSC_SPECIFICATION              = 0x00010005\r
-!ifdef $(EDK2_ARMVE_STANDALONE)\r
-  OUTPUT_DIRECTORY               = Build/ArmVExpress-CTA9x4-Standalone\r
-!else\r
-  OUTPUT_DIRECTORY               = Build/ArmVExpress-CTA9x4\r
-!endif\r
   SUPPORTED_ARCHITECTURES        = ARM\r
   BUILD_TARGETS                  = DEBUG|RELEASE\r
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-CTA9x4.fdf\r
 \r
+  # Reflashing the NOR Flash is a slow process. To ease the development on ARM Versatile Express Cortex-A9x4,\r
+  # the UEFI firmware can be built to be started from DRAM (instead of NOR Flash).\r
+  # The engineer only needs to copy the new binary in DRAM with the hardware debugger and execute from there.\r
+!ifndef EDK2_ARMVE_STANDALONE\r
+  DEFINE EDK2_ARMVE_STANDALONE=1\r
+!endif\r
+!if $(EDK2_ARMVE_STANDALONE) == 1\r
+  OUTPUT_DIRECTORY               = Build/ArmVExpress-CTA9x4-Standalone\r
+!else\r
+  OUTPUT_DIRECTORY               = Build/ArmVExpress-CTA9x4\r
+!endif\r
+\r
 !include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc\r
 \r
 [LibraryClasses.common]\r
   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
   ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA9Lib/ArmCortexA9Lib.inf\r
   ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf\r
-  ArmTrustZoneLib|ArmPkg/Library/ArmTrustZoneLib/ArmTrustZoneLib.inf\r
+  ArmTrustZoneLib|ArmPlatformPkg/Drivers/ArmTrustZone/ArmTrustZone.inf\r
 \r
   # ARM PL310 L2 Cache Driver\r
   L2X0CacheLib|ArmPlatformPkg/Drivers/PL310L2Cache/PL310L2CacheSec.inf\r
 \r
 [LibraryClasses.common.SEC]\r
   ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7LibSec.inf\r
-  ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressSecLib.inf\r
+  ArmPlatformSecLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressSecLibCTA9x4/ArmVExpressSecLib.inf\r
+  ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLibSec.inf\r
 \r
   # Uncomment to turn on GDB stub in SEC. \r
   #DebugAgentLib|EmbeddedPkg/Library/GdbDebugAgent/GdbDebugAgent.inf\r
-  \r
-  # ARM PL390 General Interrupt Driver in Secure and Non-secure\r
-  ArmGicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicSecLib.inf\r
-  ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf\r
 \r
 [BuildOptions]\r
   RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A9 -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include -I$(WORKSPACE)/ArmPlatformPkg/ArmVExpressPkg/Include/Platform/CTA9x4\r
   gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Versatile Express"  \r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ArmVExpress"\r
 \r
+  gArmPlatformTokenSpaceGuid.PcdCoreCount|4\r
+\r
   #\r
   # NV Storage PCDs. Use base of 0x43FC0000 for NOR0 or 0x47FC0000 for NOR1 on Versatile Express\r
   #\r
   #\r
   # SEC\r
   #\r
-  ArmPlatformPkg/Sec/Sec.inf\r
+  ArmPlatformPkg/Sec/Sec.inf {\r
+    <LibraryClasses>\r
+      # Use the implementation which set the Secure bits\r
+      ArmGicLib|ArmPkg/Drivers/PL390Gic/PL390GicSecLib.inf\r
+  }\r
   \r
   #\r
   # PEI Phase modules\r
 !ifdef $(EDK2_SKIP_PEICORE)\r
   ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
     <LibraryClasses>\r
-      ArmGicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf\r
       ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf\r
       ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/ArmVExpressLib.inf\r
       ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
 !else\r
   ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf {\r
     <LibraryClasses>\r
-      ArmGicSecLib|ArmPkg/Drivers/PL390Gic/PL390GicLib.inf\r
       ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
   }\r
   MdeModulePkg/Core/Pei/PeiMain.inf\r
   ArmPlatformPkg/Drivers/SP805WatchdogDxe/SP805WatchdogDxe.inf\r
 \r
   #\r
-  # Semi-hosting filesystem\r
+  # Filesystems\r
   #\r
   ArmPkg/Filesystem/SemihostFs/SemihostFs.inf\r
   \r
   #\r
   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf\r
-  FatPkg/EnhancedFatDxe/Fat.inf\r
   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf\r
 \r
-  #\r
-  # Application\r
-  #  \r
-  EmbeddedPkg/Ebl/Ebl.inf\r
-\r
   #\r
   # Bds\r
   #\r