summaryrefslogtreecommitdiffstats
path: root/UefiCpuPkg/CpuMpPei
diff options
context:
space:
mode:
authorJian J Wang <jian.j.wang@intel.com>2018-09-18 15:17:11 +0800
committerJian J Wang <jian.j.wang@intel.com>2018-09-26 10:20:33 +0800
commit2939283f2df3b8a0871e9bc7b2dd3718146318f4 (patch)
tree8fd3edaa63a4299e22d120d3e865f7757c617404 /UefiCpuPkg/CpuMpPei
parent5267926134d17e86672b84fd57b438f05ffa68e1 (diff)
downloadedk2-2939283f2df3b8a0871e9bc7b2dd3718146318f4.tar.gz
UefiCpuPkg/CpuMpPei: fix vs2012 build error
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1166 Visual Studio 2012 will complain uninitialized variable, StackBase, in the CpuPaging.c. This patch adds code to init it to zero and ASSERT check against 0. This is enough since uninit case will only happen during retrieving stack memory via gEfiHobMemoryAllocStackGuid. But this HOB will always be created in advance. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
Diffstat (limited to 'UefiCpuPkg/CpuMpPei')
-rw-r--r--UefiCpuPkg/CpuMpPei/CpuPaging.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/UefiCpuPkg/CpuMpPei/CpuPaging.c b/UefiCpuPkg/CpuMpPei/CpuPaging.c
index bcb942a8e5..c7e0822452 100644
--- a/UefiCpuPkg/CpuMpPei/CpuPaging.c
+++ b/UefiCpuPkg/CpuMpPei/CpuPaging.c
@@ -554,6 +554,8 @@ SetupStackGuardPage (
MpInitLibGetNumberOfProcessors(&NumberOfProcessors, NULL);
MpInitLibWhoAmI (&Bsp);
for (Index = 0; Index < NumberOfProcessors; ++Index) {
+ StackBase = 0;
+
if (Index == Bsp) {
Hob.Raw = GetHobList ();
while ((Hob.Raw = GetNextHob (EFI_HOB_TYPE_MEMORY_ALLOCATION, Hob.Raw)) != NULL) {
@@ -570,6 +572,7 @@ SetupStackGuardPage (
//
MpInitLibStartupThisAP(GetStackBase, Index, NULL, 0, (VOID *)&StackBase, NULL);
}
+ ASSERT (StackBase != 0);
//
// Set Guard page at stack base address.
//