]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPlatformPkg/Sec/SecEntryPoint.S
ArmPlatformPkg/BootMenu.c: Print loader type in a more friendly way.
[mirror_edk2.git] / ArmPlatformPkg / Sec / SecEntryPoint.S
index ed7448af215c75a2387ed3886b0e125883eb73fd..92035a1ffe1bea7ad0342423f3ecf4c3119a7593 100644 (file)
@@ -23,9 +23,7 @@ GCC_ASM_IMPORT(ArmPlatformSecBootAction)
 GCC_ASM_IMPORT(ArmPlatformSecBootMemoryInit)\r
 GCC_ASM_IMPORT(ArmDisableInterrupts)\r
 GCC_ASM_IMPORT(ArmDisableCachesAndMmu)\r
-GCC_ASM_IMPORT(ArmWriteVBar)\r
 GCC_ASM_IMPORT(ArmReadMpidr)\r
-GCC_ASM_IMPORT(SecVectorTable)\r
 GCC_ASM_IMPORT(ArmCallWFE)\r
 GCC_ASM_EXPORT(_ModuleEntryPoint)\r
 \r
@@ -44,10 +42,6 @@ ASM_PFX(_ModuleEntryPoint):
   // Jump to Platform Specific Boot Action function\r
   blx   ASM_PFX(ArmPlatformSecBootAction)\r
 \r
-  // Set VBAR to the start of the exception vectors in Secure Mode\r
-  LoadConstantToReg (ASM_PFX(SecVectorTable), r0)\r
-  bl    ASM_PFX(ArmWriteVBar)\r
-\r
 _IdentifyCpu:\r
   // Identify CPU ID\r
   bl    ASM_PFX(ArmReadMpidr)\r
@@ -73,6 +67,10 @@ _WaitInitMem:
   b     _SetupSecondaryCoreStack\r
   \r
 _InitMem:\r
+  // If we are not doing a cold boot in this case we should assume the Initial Memory to be already initialized\r
+  cmp   r10, #ARM_SEC_COLD_BOOT\r
+  bne   _SetupPrimaryCoreStack\r
+\r
   // Initialize Init Boot Memory\r
   bl    ASM_PFX(ArmPlatformSecBootMemoryInit)\r
   \r
@@ -99,7 +97,7 @@ _SetupSecondaryCoreStack:
   add   r1, r1, r2\r
 \r
   // Get the Core Position (ClusterId * 4) + CoreId\r
-  GetCorePositionInStack(r0, r5, r2)\r
+  GetCorePositionFromMpId(r0, r5, r2)\r
   // The stack starts at the top of the stack region. Add '1' to the Core Position to get the top of the stack\r
   add   r0, r0, #1\r
 \r