]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/ArmPkg.dec
ArmPkg: Added Aarch64 support
[mirror_edk2.git] / ArmPkg / ArmPkg.dec
index c41f04ad1a01c2d1e4a63f88ea1574cfb4338791..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
   #\r
   gArmTokenSpaceGuid.PcdL2x0ControllerBase|0|UINT32|0x0000001B\r
   \r
-  #\r
-  # ARM PL390 General Interrupt Controller\r
-  #\r
-  gArmTokenSpaceGuid.PcdGicDistributorBase|0|UINT32|0x0000001C\r
-  gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0|UINT32|0x0000001D\r
-  \r
   # \r
   # BdsLib\r
   #\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