]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.dsc
ArmPlatformPkg/ArmVExpressPkg: Remove the last 16MB of the 32bit DRAM region
[mirror_edk2.git] / ArmPlatformPkg / ArmVExpressPkg / ArmVExpress-FVP-AArch64.dsc
index e39ce19692f2ebd802978680807c58440da20bf1..16c355f8f891307e825ae818408fddc71ce5328d 100644 (file)
@@ -1,5 +1,5 @@
 #\r
-#  Copyright (c) 2011-2013, ARM Limited. All rights reserved.\r
+#  Copyright (c) 2011-2014, 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
   SKUID_IDENTIFIER               = DEFAULT\r
   FLASH_DEFINITION               = ArmPlatformPkg/ArmVExpressPkg/ArmVExpress-FVP-AArch64.fdf\r
 \r
+!ifndef ARM_FVP_RUN_NORFLASH\r
+  DEFINE EDK2_SKIP_PEICORE=1\r
+!endif\r
+\r
+\r
 !include ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc\r
 \r
 [LibraryClasses.common]\r
   gArmPlatformTokenSpaceGuid.PcdFirmwareVendor|"ARM Fixed Virtual Platform"\r
   gEmbeddedTokenSpaceGuid.PcdEmbeddedPrompt|"ARM-FVP"\r
 \r
+!ifndef ARM_FOUNDATION_FVP\r
   # Up to 8 cores on Base models. This works fine if model happens to have less.\r
   gArmPlatformTokenSpaceGuid.PcdCoreCount|8\r
+  gArmPlatformTokenSpaceGuid.PcdClusterCount|2\r
+!else\r
+  # Up to 4 cores on Foundation models. This works fine if model happens to have less.\r
+  gArmPlatformTokenSpaceGuid.PcdCoreCount|4\r
+!endif\r
 \r
   #\r
   # NV Storage PCDs. Use base of 0x0C000000 for NOR1\r
   # Non-Trusted SRAM\r
   gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x2E000000\r
   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000\r
-  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x800\r
+  gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize|0x1000\r
 \r
-  # System Memory (2GB)\r
+  # System Memory (2GB - 16MB of Trusted DRAM at the top of the 32bit address space)\r
   gArmTokenSpaceGuid.PcdSystemMemoryBase|0x80000000\r
-  gArmTokenSpaceGuid.PcdSystemMemorySize|0x80000000\r
+  gArmTokenSpaceGuid.PcdSystemMemorySize|0x7F000000\r
 \r
   # Size of the region used by UEFI in permanent memory (Reserved 64MB)\r
   gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000\r
   #\r
   # PEI Phase modules\r
   #\r
+!ifdef EDK2_SKIP_PEICORE\r
+  # UEFI is placed in RAM by bootloader\r
+  ArmPlatformPkg/PrePi/PeiMPCore.inf {\r
+    <LibraryClasses>\r
+      ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf\r
+      ArmPlatformLib|ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/ArmVExpressLib.inf\r
+      ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/PrePi/PrePiArmPlatformGlobalVariableLib.inf\r
+  }\r
+!else\r
+  # UEFI lives in FLASH and copies itself to RAM\r
   ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf {\r
     <LibraryClasses>\r
       ArmPlatformGlobalVariableLib|ArmPlatformPkg/Library/ArmPlatformGlobalVariableLib/Pei/PeiArmPlatformGlobalVariableLib.inf\r
     <LibraryClasses>\r
       NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf\r
   }\r
+!endif\r
 \r
   #\r
   # DXE\r
   #\r
   # Platform Driver\r
   #\r
-  ArmPlatformPkg/ArmVExpressPkg/ArmFvpDxe/ArmFvpDxe.inf\r
+  ArmPlatformPkg/ArmVExpressPkg/ArmVExpressDxe/ArmFvpDxe.inf\r
   OvmfPkg/VirtioBlkDxe/VirtioBlk.inf\r
 \r
   #\r