Use CPU_STACK_ALIGNMENT to align stack allocated for used in the DXE Phase.
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 9 Nov 2006 22:05:07 +0000 (22:05 +0000)
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 9 Nov 2006 22:05:07 +0000 (22:05 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1925 6f19259b-4bc3-4df7-8a09-765794883524

EdkModulePkg/Core/DxeIplX64Peim/DxeLoadX64.c

index c7d6dd7..c9792ee 100644 (file)
@@ -262,7 +262,8 @@ Returns:
   // Compute the top of the stack we were allocated. Pre-allocate a 32 bytes\r
   // for safety (PpisNeededByDxe and DxeCore).\r
   //\r
   // Compute the top of the stack we were allocated. Pre-allocate a 32 bytes\r
   // for safety (PpisNeededByDxe and DxeCore).\r
   //\r
-  TopOfStack = BaseOfStack + EFI_SIZE_TO_PAGES (STACK_SIZE) * EFI_PAGE_SIZE - 32;\r
+  TopOfStack = BaseOfStack + EFI_SIZE_TO_PAGES (STACK_SIZE) * EFI_PAGE_SIZE - CPU_STACK_ALIGNMENT;\r
+  TopOfStack = ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);\r
 \r
   //\r
   // Add architecture-specifc HOBs (including the BspStore HOB)\r
 \r
   //\r
   // Add architecture-specifc HOBs (including the BspStore HOB)\r