summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg
diff options
context:
space:
mode:
authorJeff Fan <jeff.fan@intel.com>2016-11-03 15:47:06 +0800
committerJeff Fan <jeff.fan@intel.com>2016-11-09 16:00:04 +0800
commit6fb389d0a180ae4e623c39d051a3ddb38515b614 (patch)
treeac2e112887900e1249290d83e0b55f74a9317704 /MdeModulePkg
parentd945390d5f154cb6664308846736e65e1f59099d (diff)
downloadedk2-6fb389d0a180ae4e623c39d051a3ddb38515b614.tar.gz
edk2-6fb389d0a180ae4e623c39d051a3ddb38515b614.tar.bz2
edk2-6fb389d0a180ae4e623c39d051a3ddb38515b614.zip
MdeModulePkg: Display new stack base and size
Dump new stack base and size information could help developer to narrow down stack crash issue. Cc: Feng Tian <feng.tian@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Michael Kinney <michael.d.kinney@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan <jeff.fan@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com>
Diffstat (limited to 'MdeModulePkg')
-rw-r--r--MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c16
-rw-r--r--MdeModulePkg/Universal/CapsulePei/UefiCapsule.c8
-rw-r--r--MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c8
3 files changed, 32 insertions, 0 deletions
diff --git a/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c b/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
index 8ce72cb316..6ec51ff09a 100644
--- a/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
+++ b/MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
@@ -317,6 +317,14 @@ HandOffToDxeCore (
AsmWriteIdtr (&gLidtDescriptor);
+ DEBUG ((
+ DEBUG_INFO,
+ "%a() Stack Base: 0x%lx, Stack Size: 0x%x\n",
+ __FUNCTION__,
+ BaseOfStack,
+ STACK_SIZE
+ ));
+
//
// Go to Long Mode and transfer control to DxeCore.
// Interrupts will not get turned on until the CPU AP is loaded.
@@ -387,6 +395,14 @@ HandOffToDxeCore (
//
UpdateStackHob (BaseOfStack, STACK_SIZE);
+ DEBUG ((
+ DEBUG_INFO,
+ "%a() Stack Base: 0x%lx, Stack Size: 0x%x\n",
+ __FUNCTION__,
+ BaseOfStack,
+ STACK_SIZE
+ ));
+
//
// Transfer the control to the entry point of DxeCore.
//
diff --git a/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c b/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c
index e60105b31c..9ac9d228d1 100644
--- a/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c
+++ b/MdeModulePkg/Universal/CapsulePei/UefiCapsule.c
@@ -321,6 +321,14 @@ Thunk32To64 (
//
AsmWriteCr3 ((UINTN) PageTableAddress);
+ DEBUG ((
+ DEBUG_INFO,
+ "%a() Stack Base: 0x%lx, Stack Size: 0x%lx\n",
+ __FUNCTION__,
+ Context->StackBufferBase,
+ Context->StackBufferLength
+ ));
+
//
// Disable interrupt of Debug timer, since the IDT table cannot work in long mode
//
diff --git a/MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c b/MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c
index d1042e30ef..5ad95d2151 100644
--- a/MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c
+++ b/MdeModulePkg/Universal/CapsulePei/X64/X64Entry.c
@@ -265,6 +265,14 @@ _ModuleEntryPoint (
ReturnContext->ReturnStatus = Status;
+ DEBUG ((
+ DEBUG_INFO,
+ "%a() Stack Base: 0x%lx, Stack Size: 0x%lx\n",
+ __FUNCTION__,
+ EntrypointContext->StackBufferBase,
+ EntrypointContext->StackBufferLength
+ ));
+
//
// Disable interrupt of Debug timer, since the new IDT table cannot work in long mode
//