summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg/PrePi
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPlatformPkg/PrePi')
-rwxr-xr-xArmPlatformPkg/PrePi/ModuleEntryPoint.S3
-rw-r--r--ArmPlatformPkg/PrePi/ModuleEntryPoint.asm3
2 files changed, 4 insertions, 2 deletions
diff --git a/ArmPlatformPkg/PrePi/ModuleEntryPoint.S b/ArmPlatformPkg/PrePi/ModuleEntryPoint.S
index c10dfbaf0f..bff240a660 100755
--- a/ArmPlatformPkg/PrePi/ModuleEntryPoint.S
+++ b/ArmPlatformPkg/PrePi/ModuleEntryPoint.S
@@ -107,6 +107,7 @@ _GetStackBaseMpCore:
// Stack for the primary core = PrimaryCoreStack
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
sub r7, r1, r2
+
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)
lsl r2, r2, #2
@@ -118,7 +119,7 @@ _GetStackBaseMpCore:
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
add r1, r7, r2
- // r7 = The base of the MpCore Stacks
+ // r7 = The base of the MpCore Stacks (primary stack + cluster_count * 4 * secondary stacks)
// r1 = The base of the secondary Stacks = Top of the Primary stack
// Is it the Primary Core ?
diff --git a/ArmPlatformPkg/PrePi/ModuleEntryPoint.asm b/ArmPlatformPkg/PrePi/ModuleEntryPoint.asm
index ba82f403f7..1e1938c8f3 100644
--- a/ArmPlatformPkg/PrePi/ModuleEntryPoint.asm
+++ b/ArmPlatformPkg/PrePi/ModuleEntryPoint.asm
@@ -108,6 +108,7 @@ _GetStackBaseMpCore
// Stack for the primary core = PrimaryCoreStack
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
sub r7, r1, r2
+
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)
lsl r2, r2, #2
@@ -119,7 +120,7 @@ _GetStackBaseMpCore
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)
add r1, r7, r2
- // r7 = The base of the MpCore Stacks
+ // r7 = The base of the MpCore Stacks (primary stack + cluster_count * 4 * secondary stacks)
// r1 = The base of the secondary Stacks = Top of the Primary stack
// Is it the Primary Core ?