]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/ArmVExpressPkg/Library/ArmVExpressLibCTA9x4/CTA9x4Helper.asm
ArmPlatformPkg: Fix and Implement ArmPlatformGetPrimaryCoreMpId
[mirror_edk2.git] / ArmPlatformPkg / ArmVExpressPkg / Library / ArmVExpressLibCTA9x4 / CTA9x4Helper.asm
index 429026e01597026876af16cacdec3976dd53ecf9..e969db87446b3978fe41121ec332278f87ea42c0 100644 (file)
 //\r
 \r
 #include <AsmMacroIoLib.h>\r
+#include <Library/ArmLib.h>\r
 \r
 #include <AutoGen.h>\r
 \r
   INCLUDE AsmMacroIoLib.inc\r
 \r
+  EXPORT  ArmPlatformPeiBootAction\r
   EXPORT  ArmPlatformIsPrimaryCore\r
+  EXPORT  ArmPlatformGetPrimaryCoreMpId\r
+  EXPORT  ArmPlatformGetCorePosition\r
 \r
   IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCore\r
   IMPORT  _gPcd_FixedAtBuild_PcdArmPrimaryCoreMask\r
 \r
   AREA CTA9x4Helper, CODE, READONLY\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
@@ -40,4 +54,17 @@ ArmPlatformIsPrimaryCore FUNCTION
   bx    lr\r
   ENDFUNC\r
 \r
+//UINTN\r
+//ArmPlatformGetCorePosition (\r
+//  IN UINTN MpId\r
+//  );\r
+ArmPlatformGetCorePosition FUNCTION\r
+  and   r0, r0, #ARM_CORE_MASK\r
+  bx    lr\r
+  ENDFUNC\r
+\r
+ArmPlatformPeiBootAction FUNCTION\r
+  bx    lr\r
+  ENDFUNC\r
+\r
   END\r