summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--EdkNt32Pkg/Sec/SecMain.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/EdkNt32Pkg/Sec/SecMain.c b/EdkNt32Pkg/Sec/SecMain.c
index 167ad50011..4f668b1bc8 100644
--- a/EdkNt32Pkg/Sec/SecMain.c
+++ b/EdkNt32Pkg/Sec/SecMain.c
@@ -601,12 +601,13 @@ Returns:
//
// Compute Top Of Memory for Stack and PEI Core Allocations
//
- TopOfMemory = LargestRegion + ((LargestRegionSize) & (~15));
+ TopOfMemory = LargestRegion + LargestRegionSize;
//
// Allocate 128KB for the Stack
//
- TopOfStack = (VOID *) (UINTN) (TopOfMemory - sizeof (EFI_PEI_STARTUP_DESCRIPTOR));
+ TopOfStack = (VOID *)((UINTN)TopOfMemory - sizeof (EFI_PEI_STARTUP_DESCRIPTOR) - CPU_STACK_ALIGNMENT);
+ TopOfStack = ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);
TopOfMemory = TopOfMemory - STACK_SIZE;
//