]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/PrePi/Arm/ModuleEntryPoint.asm
ArmPlatformPkg/ArmPlatformLib: Added support for ArmPlatformIsPrimaryCore()
[mirror_edk2.git] / ArmPlatformPkg / PrePi / Arm / ModuleEntryPoint.asm
index 5efdb532af5beb1d423915d8ee443e1894c9c120..b78729fbc271d10dee7ce43b2ece85b60da77415 100644 (file)
@@ -21,6 +21,7 @@
   INCLUDE AsmMacroIoLib.inc\r
   \r
   IMPORT  CEntryPoint\r
+  IMPORT  ArmPlatformIsPrimaryCore\r
   IMPORT  ArmReadMpidr\r
   IMPORT  ArmPlatformStackSet\r
   \r
@@ -34,8 +35,8 @@ StartupAddr        DCD      CEntryPoint
 _ModuleEntryPoint\r
   // Get ID of this CPU in Multicore system\r
   bl    ArmReadMpidr\r
-  LoadConstantToReg (FixedPcdGet32(PcdArmPrimaryCoreMask), r1)\r
-  and   r6, r0, r1\r
+  // Keep a copy of the MpId register value\r
+  mov   r6, r0\r
 \r
 _SetSVCMode\r
   // Enter SVC mode, Disable FIQ and IRQ\r
@@ -120,8 +121,9 @@ _GetStackBase
   bl   ArmPlatformStackSet\r
 \r
   // Is it the Primary Core ?\r
-  LoadConstantToReg (FixedPcdGet32(PcdArmPrimaryCore), r4)\r
-  cmp   r6, r4\r
+  mov   r0, r6\r
+  bl    ArmPlatformIsPrimaryCore\r
+  cmp   r0, #1\r
   bne   _PrepareArguments\r
 \r
 _ReserveGlobalVariable\r