# 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
# 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
# BdsLib\r
#\r
gArmTokenSpaceGuid.PcdArmMachineType|0|UINT32|0x0000001E\r
- # The compressed Linux kernel is expected to load at MemStart + 0x8000 (e.g. 0x8000_8000)\r
- gArmTokenSpaceGuid.PcdArmLinuxKernelFixedOffset|0x00008000|UINT32|0x00000027\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
- # If the fixed FDT address is not available, then it should be loaded the below the kernel\r
- # The recommandation from the Linux kernel is to have the FDT below 16KB\r
- gArmTokenSpaceGuid.PcdArmLinuxFdtMaxOffset|0x4000|UINT32|0x00000023\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