summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg
diff options
context:
space:
mode:
authoroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-02-28 17:30:20 +0000
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>2012-02-28 17:30:20 +0000
commitd9c69d99ff57ce61619b497cb4ddf197e9ab90b8 (patch)
treec6c1810c6395e6ff6fb82ce69495360c520d4365 /ArmPlatformPkg
parent3d93aeaef8225fca86faf9f113a2d9fb777c2a72 (diff)
downloadedk2-platforms-d9c69d99ff57ce61619b497cb4ddf197e9ab90b8.tar.xz
ArmPlatformPkg/Sec: Add ASSERT() for checking the Secure Monitor Stack PCD values
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13062 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'ArmPlatformPkg')
-rw-r--r--ArmPlatformPkg/Sec/Sec.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ArmPlatformPkg/Sec/Sec.c b/ArmPlatformPkg/Sec/Sec.c
index 00d042cf09..97895532c5 100644
--- a/ArmPlatformPkg/Sec/Sec.c
+++ b/ArmPlatformPkg/Sec/Sec.c
@@ -106,6 +106,11 @@ CEntryPoint (
ArmCpuSetupSmpNonSecure (GET_CORE_ID(MpId));
}
+ // Either we use the Secure Stacks for Secure Monitor (in this case (Base == 0) && (Size == 0))
+ // Or we use separate Secure Monitor stacks (but (Base != 0) && (Size != 0))
+ ASSERT (((PcdGet32(PcdCPUCoresSecMonStackBase) == 0) && (PcdGet32(PcdCPUCoreSecMonStackSize) == 0)) ||
+ ((PcdGet32(PcdCPUCoresSecMonStackBase) != 0) && (PcdGet32(PcdCPUCoreSecMonStackSize) != 0)));
+
// Enter Monitor Mode
enter_monitor_mode ((UINTN)TrustedWorldInitialization, MpId, (VOID*)(PcdGet32(PcdCPUCoresSecMonStackBase) + (PcdGet32(PcdCPUCoreSecMonStackSize) * (GET_CORE_POS(MpId) + 1))));
} else {