\r
#include <AsmMacroIoLib.h>\r
#include <Base.h>\r
+#include <Library/ArmLib.h>\r
#include <Library/PcdLib.h>\r
#include <AutoGen.h>\r
\r
GCC_ASM_EXPORT(ArmGetCpuCountPerCluster)\r
GCC_ASM_EXPORT(ArmPlatformIsPrimaryCore)\r
GCC_ASM_EXPORT(ArmPlatformGetPrimaryCoreMpId)\r
+GCC_ASM_EXPORT(ArmPlatformGetCorePosition)\r
\r
GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCore)\r
GCC_ASM_IMPORT(_gPcd_FixedAtBuild_PcdArmPrimaryCoreMask)\r
movne r0, #0\r
bx lr\r
\r
+//UINTN\r
+//ArmPlatformGetCorePosition (\r
+// IN UINTN MpId\r
+// );\r
+ASM_PFX(ArmPlatformGetCorePosition):\r
+ and r1, r0, #ARM_CORE_MASK\r
+ and r0, r0, #ARM_CLUSTER_MASK\r
+ add r0, r1, r0, LSR #7\r
+ bx lr\r
+\r
ASM_FUNCTION_REMOVE_IF_UNREFERENCED \r