ASSERT (ExtraStackSize != NULL);\r
\r
*RealModeBufferSize = m16Size;\r
+\r
+ //\r
+ // Extra 4 bytes for return address, and another 4 bytes for mode transition\r
+ //\r
*ExtraStackSize = sizeof (IA32_DWORD_REGS) + 8;\r
}\r
\r
ASSERT ((UINTN)ThunkContext->RealModeBuffer < 0x100000);\r
ASSERT (ThunkContext->RealModeBufferSize >= m16Size);\r
ASSERT ((UINTN)ThunkContext->RealModeBuffer + m16Size <= 0x100000);\r
- ASSERT (((UINTN)ThunkContext->RealModeBuffer & 0x0f) == 0);\r
\r
CopyMem (ThunkContext->RealModeBuffer, &m16Start, m16Size);\r
\r
ASSERT ((UINTN)ThunkContext->RealModeBuffer < 0x100000);\r
ASSERT (ThunkContext->RealModeBufferSize >= m16Size);\r
ASSERT ((UINTN)ThunkContext->RealModeBuffer + m16Size <= 0x100000);\r
- ASSERT (((UINTN)ThunkContext->RealModeBuffer & 0x0f) == 0);\r
\r
UpdatedRegs = InternalAsmThunk16 (\r
ThunkContext->RealModeState,\r