//\r
-// Copyright (c) 2012, ARM Limited. All rights reserved.\r
+// Copyright (c) 2012-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
//\r
//\r
\r
+#include <AsmMacroIoLib.h>\r
#include <Library/ArmLib.h>\r
\r
INCLUDE AsmMacroIoLib.inc\r
\r
+ EXPORT ArmPlatformPeiBootAction\r
EXPORT ArmPlatformGetCorePosition\r
+ EXPORT ArmPlatformGetPrimaryCoreMpId\r
+ EXPORT ArmPlatformIsPrimaryCore\r
+\r
+ IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCore\r
+ IMPORT _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask\r
\r
PRESERVE8\r
AREA ArmPlatformNullHelper, CODE, READONLY\r
\r
+ArmPlatformPeiBootAction FUNCTION\r
+ bx lr\r
+ ENDFUNC\r
+\r
//UINTN\r
//ArmPlatformGetCorePosition (\r
// IN UINTN MpId\r
bx lr\r
ENDFUNC\r
\r
+//UINTN\r
+//ArmPlatformGetPrimaryCoreMpId (\r
+// VOID\r
+// );\r
+ArmPlatformGetPrimaryCoreMpId FUNCTION\r
+ LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r0)\r
+ ldr r0, [r0]\r
+ bx lr\r
+ ENDFUNC\r
+\r
+//UINTN\r
+//ArmPlatformIsPrimaryCore (\r
+// IN UINTN MpId\r
+// );\r
+ArmPlatformIsPrimaryCore FUNCTION\r
+ LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask, r1)\r
+ ldr r1, [r1]\r
+ and r0, r0, r1\r
+ LoadConstantToReg (_gPcd_FixedAtBuild_PcdArmPrimaryCore, r1)\r
+ ldr r1, [r1]\r
+ cmp r0, r1\r
+ moveq r0, #1\r
+ movne r0, #0\r
+ bx lr\r
+ ENDFUNC\r
+\r
END\r
\r