#include <Library/PcdLib.h>\r
#include <Library/PrintLib.h>\r
#include <Library/SerialPortLib.h>\r
-\r
+#include <Chipset/ArmV7.h>
#include <Drivers/PL390Gic.h>\r
\r
#define ARM_PRIMARY_CORE 0\r
InitializeDebugAgent (DEBUG_AGENT_INIT_POSTMEM_SEC, NULL, NULL);\r
SaveAndSetDebugTimerInterrupt (TRUE);\r
\r
- PrePiHobBase = (EFI_HOB_HANDOFF_INFO_TABLE**)(PcdGet32 (PcdCPUCoresNonSecStackBase) + (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - PcdGet32 (PcdHobListPtrGlobalOffset));\r
-\r
UefiMemoryTop = UefiMemoryBase + FixedPcdGet32 (PcdSystemMemoryUefiRegionSize);\r
StacksSize = PcdGet32 (PcdCPUCoresNonSecStackSize) * PcdGet32 (PcdMPCoreMaxCores);\r
StacksBase = UefiMemoryTop - StacksSize;\r
\r
+ // Check the PcdCPUCoresNonSecStackBase match with the calculated StackBase\r
+ ASSERT (StacksBase == PcdGet32 (PcdCPUCoresNonSecStackBase));\r
+ \r
+ PrePiHobBase = (EFI_HOB_HANDOFF_INFO_TABLE**)(PcdGet32 (PcdCPUCoresNonSecStackBase) + (PcdGet32 (PcdCPUCoresNonSecStackSize) / 2) - PcdGet32 (PcdHobListPtrGlobalOffset));\r
+\r
// Declare the PI/UEFI memory region\r
*PrePiHobBase = HobConstructor (\r
(VOID*)UefiMemoryBase,\r
)\r
{\r
UINT64 StartTimeStamp;\r
-\r
+ \r
if ((CoreId == ARM_PRIMARY_CORE) && PerformanceMeasurementEnabled ()) {\r
// Initialize the Timer Library to setup the Timer HW controller\r
TimerConstructor ();\r
// We cannot call yet the PerformanceLib because the HOB List has not been initialized\r
StartTimeStamp = GetPerformanceCounter ();\r
+ } else {\r
+ StartTimeStamp = 0;\r
}\r
\r
// Clean Data cache\r