]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibRTSM/Arm/RTSMHelper.S
ARM Packages: Replaced the macro GetCorePositionFromMpId() by the ArmPlatformGetCoreP...
[mirror_edk2.git] / ArmPlatformPkg / ArmVExpressPkg / Library / ArmVExpressLibRTSM / Arm / RTSMHelper.S
index 847424fb4b9a6e78cd1676b5de9f4e98639122fe..1c256af2412d87b6722aa0b5804bc7c934f8f6ec 100644 (file)
@@ -13,6 +13,7 @@
 \r
 #include <AsmMacroIoLib.h>\r
 #include <Base.h>\r
+#include <Library/ArmLib.h>\r
 #include <Library/PcdLib.h>\r
 #include <AutoGen.h>\r
 \r
@@ -24,6 +25,7 @@
 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
@@ -96,4 +98,14 @@ ASM_PFX(ArmPlatformIsPrimaryCore):
   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