LoadConstantToReg (FixedPcdGet32(PcdFdBaseAddress), r2)\r
LoadConstantToReg (FixedPcdGet32(PcdFdSize), r3)\r
sub r3, r3, #1\r
- add r3, r3, r2 // r4 = FdTop = PcdFdBaseAddress + PcdFdSize\r
+ add r3, r3, r2 // r3 = FdTop = PcdFdBaseAddress + PcdFdSize\r
\r
// UEFI Memory Size (stacks are allocated in this region)\r
LoadConstantToReg (FixedPcdGet32(PcdSystemMemoryUefiRegionSize), r4)\r
// Stack for the primary core = PrimaryCoreStack\r
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)\r
sub r7, r1, r2\r
+\r
// Stack for the secondary core = Number of Cluster * (4 Core per cluster) * SecondaryStackSize\r
LoadConstantToReg (FixedPcdGet32(PcdClusterCount), r2)\r
lsl r2, r2, #2\r
LoadConstantToReg (FixedPcdGet32(PcdCPUCorePrimaryStackSize), r2)\r
add r1, r7, r2\r
\r
- // r7 = The base of the MpCore Stacks\r
+ // r7 = The base of the MpCore Stacks (primary stack + cluster_count * 4 * secondary stacks)\r
// r1 = The base of the secondary Stacks = Top of the Primary stack\r
\r
// Is it the Primary Core ?\r