]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/PrePeiCore/PrePeiCoreEntryPoint.S
ArmPlatformPkg: Introduce Primary core macros
[mirror_edk2.git] / ArmPlatformPkg / PrePeiCore / PrePeiCoreEntryPoint.S
index 49174cc94207f2069b56f112a419b341265372bb..01723a2eac53ecfbd35ce91864270694188d8754 100644 (file)
 .text\r
 .align 3\r
 \r
-#global symbols referenced by this module\r
 GCC_ASM_IMPORT(CEntryPoint)\r
-\r
-StartupAddr: .word    CEntryPoint\r
-\r
-#make _ModuleEntryPoint as global\r
+GCC_ASM_IMPORT(ArmReadMpidr)\r
 GCC_ASM_EXPORT(_ModuleEntryPoint)\r
 \r
+StartupAddr: .word    CEntryPoint\r
 \r
 ASM_PFX(_ModuleEntryPoint):\r
   # Identify CPU ID\r
-  mrc   p15, 0, r0, c0, c0, 5\r
-  and   r0, #0xf\r
+  bl    ASM_PFX(ArmReadMpidr)\r
+  // Get ID of this CPU in Multicore system\r
+  LoadConstantToReg (FixedPcdGet32(PcdArmPrimaryCoreMask), r1)\r
+  and   r0, r0, r1\r
 \r
 _SetupStack:\r
   # Setup Stack for the 4 CPU cores\r