//\r
-// Copyright (c) 2011, 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
-// which accompanies this distribution. The full text of the license may be found at \r
-// http://opensource.org/licenses/bsd-license.php \r
+// Copyright (c) 2012-2013, ARM Limited. All rights reserved.\r
//\r
-// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+// This program and the accompanying materials\r
+// are licensed and made available under the terms and conditions of the BSD License\r
+// which accompanies this distribution. The full text of the license may be found at\r
+// http://opensource.org/licenses/bsd-license.php\r
+//\r
+// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
//\r
//\r
\r
#include <AsmMacroIoLib.h>\r
#include <Base.h>\r
-#include <Library/PcdLib.h>\r
-#include <ArmPlatform.h>\r
+\r
#include <AutoGen.h>\r
\r
INCLUDE AsmMacroIoLib.inc\r
- \r
- EXPORT ArmPlatformIsBootMemoryInitialized\r
- EXPORT ArmPlatformInitializeBootMemory\r
- \r
- PRESERVE8\r
- AREA BeagleBoardHelper, CODE, READONLY\r
-\r
-/**\r
- Called at the early stage of the Boot phase to know if the memory has already been initialized\r
-\r
- Running the code from the reset vector does not mean we start from cold boot. In some case, we\r
- can go through this code with the memory already initialized.\r
- Because this function is called at the early stage, the implementation must not use the stack.\r
- Its implementation must probably done in assembly to ensure this requirement.\r
-\r
- @return Return a non zero value if initialized\r
-\r
-**/\r
-ArmPlatformIsBootMemoryInitialized\r
- // The system memory is initialized by the BeagleBoard firmware\r
- mov r0, #1\r
- bx lr\r
- \r
-/**\r
- Initialize the memory where the initial stacks will reside\r
-\r
- This memory can contain the initial stacks (Secure and Secure Monitor stacks).\r
- In some platform, this region is already initialized and the implementation of this function can\r
- do nothing. This memory can also represent the Secure RAM.\r
- This function is called before the satck has been set up. Its implementation must ensure the stack\r
- pointer is not used (probably required to use assembly language)\r
-\r
-**/\r
-ArmPlatformInitializeBootMemory\r
- // We must need to go into this function\r
+\r
+ EXPORT ArmPlatformPeiBootAction\r
+ EXPORT ArmPlatformIsPrimaryCore\r
+ EXPORT ArmPlatformGetPrimaryCoreMpId\r
+\r
+ IMPORT ArmReadMpidr\r
+\r
+ AREA BeagleBoardHelper, CODE, READONLY\r
+\r
+//UINTN\r
+//ArmPlatformIsPrimaryCore (\r
+// IN UINTN MpId\r
+// );\r
+ArmPlatformIsPrimaryCore FUNCTION\r
+ // BeagleBoard has a single core. We must always return 1.\r
+ mov r0, #1\r
+ bx lr\r
+ ENDFUNC\r
+\r
+ArmPlatformPeiBootAction FUNCTION\r
bx lr\r
- \r
+ ENDFUNC\r
+\r
+//UINTN\r
+//ArmPlatformGetPrimaryCoreMpId (\r
+// VOID\r
+// );\r
+ArmPlatformGetPrimaryCoreMpId FUNCTION\r
+ // The BeagleBoard is a uniprocessor platform. The MPIDR of primary core is\r
+ // always the MPIDR of the calling CPU.\r
+ b ArmReadMpidr\r
+ ENDFUNC\r
+\r
END\r