]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/ArmPkg.dec
ArmPkg: Added Aarch64 support
[mirror_edk2.git] / ArmPkg / ArmPkg.dec
index 2a32dc3b6fb20bb9a3cd5cbf6656ca19dcf50d58..1012329013a193af841238e5a8e576437afd1621 100644 (file)
@@ -2,7 +2,7 @@
 # ARM processor package.\r
 #\r
 # Copyright (c) 2009 - 2010, Apple Inc. All rights reserved.<BR>\r
-# Copyright (c) 2011-2012, 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
@@ -65,6 +65,9 @@
   # it has been configured by the CPU DXE\r
   gArmTokenSpaceGuid.PcdDebuggerExceptionSupport|FALSE|BOOLEAN|0x00000032\r
   \r
+  # Define if the Power State Coordination Interface (PSCI) is supported by the Platform Trusted Firmware\r
+  gArmTokenSpaceGuid.PcdArmPsciSupport|FALSE|BOOLEAN|0x00000033\r
+  \r
 [PcdsFixedAtBuild.common]\r
   gArmTokenSpaceGuid.PcdTrustzoneSupport|FALSE|BOOLEAN|0x00000006\r
 \r
   # 0xC00 = cp10 | cp11\r
   gArmTokenSpaceGuid.PcdArmNsacr|0xC00|UINT32|0x00000039\r
   \r
-  gArmTokenSpaceGuid.PcdArmNonSecModeTransition|0x0|UINT32|0x0000003E\r
-\r
   # System Memory (DRAM): These PCDs define the region of in-built system memory\r
   # Some platforms can get DRAM extensions, these additional regions will be declared\r
   # to UEFI by ArmPLatformPlib   \r
   gArmTokenSpaceGuid.PcdArmPrimaryCoreMask|0xF03|UINT32|0x00000031\r
   # The Primary Core is ClusterId[0] & CoreId[0] \r
   gArmTokenSpaceGuid.PcdArmPrimaryCore|0|UINT32|0x00000037\r
-  # Number of the CPU Interface for the Primary Core (eg: The number for the CPU0 of\r
-  # Cluster1 might be 4 if the implementer had followed the convention: Cpu Interface\r
-  # = 4 * Cluster)\r
-  gArmTokenSpaceGuid.PcdGicPrimaryCoreId|0|UINT32|0x00000043\r
 \r
   #\r
   # ARM L2x0 PCDs\r
   gArmTokenSpaceGuid.PcdArmMachineType|0|UINT32|0x0000001E\r
   # The compressed Linux kernel is expected to be under 128MB from the beginning of the System Memory\r
   gArmTokenSpaceGuid.PcdArmLinuxKernelMaxOffset|0x08000000|UINT32|0x0000001F\r
-  # The Linux ATAGs are expected to be under 0x4000 (16KB) from the beginning of the System Memory\r
-  gArmTokenSpaceGuid.PcdArmLinuxAtagMaxOffset|0x4000|UINT32|0x00000020\r
 \r
   #\r
   # ARM Architectural Timer\r
   # ARM Architectural Timer Interrupt(GIC PPI) number\r
   gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|29|UINT32|0x00000035  \r
   gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|30|UINT32|0x00000036\r
+\r
+[PcdsFixedAtBuild.ARM]\r
+  # By default we do not do a transition to non-secure mode\r
+  gArmTokenSpaceGuid.PcdArmNonSecModeTransition|0x0|UINT32|0x0000003E\r
+\r
+  # The Linux ATAGs are expected to be under 0x4000 (16KB) from the beginning of the System Memory\r
+  gArmTokenSpaceGuid.PcdArmLinuxAtagMaxOffset|0x4000|UINT32|0x00000020\r
+\r
+  # If the fixed FDT address is not available, then it should be loaded below the kernel.\r
+  # The recommendation from the Linux kernel is to have the FDT below 16KB.\r
+  # (see the kernel doc: Documentation/arm/Booting)\r
+  gArmTokenSpaceGuid.PcdArmLinuxFdtMaxOffset|0x4000|UINT32|0x00000023\r
+  # The FDT blob must be loaded at a 64bit aligned address.\r
+  gArmTokenSpaceGuid.PcdArmLinuxFdtAlignment|0x8|UINT32|0x00000026\r
+\r
+[PcdsFixedAtBuild.AARCH64]\r
+  # By default we do transition to EL2 non-secure mode with Stack for EL2.\r
+  #        Mode Description              Bits\r
+  # NS EL2 SP2 all interupts disabled =  0x3c9\r
+  # NS EL1 SP1 all interupts disabled =  0x3c5\r
+  # Other modes include using SP0 or switching to Aarch32, but these are\r
+  # not currently supported.\r
+  gArmTokenSpaceGuid.PcdArmNonSecModeTransition|0x3c9|UINT32|0x0000003E\r