.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