]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/SwitchStack.c
Fix some typos
[mirror_edk2.git] / MdePkg / Library / BaseLib / SwitchStack.c
index e247e94857a7f36f208827427161c238bf93cf0c..696b9edaaaa0d8106754555964a15ddac6cf24d3 100644 (file)
@@ -1,8 +1,8 @@
 /** @file\r
   Switch Stack functions.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation<BR>\r
-  All rights reserved. This program and the accompanying materials\r
+  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+  This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
   http://opensource.org/licenses/bsd-license.php\r
@@ -12,7 +12,7 @@
 \r
 **/\r
 \r
-#include <BaseLibInternals.h>\r
+#include "BaseLibInternals.h"\r
 \r
 /**\r
   Transfers control to a function starting with a new stack.\r
                       function.\r
   @param  NewStack    A pointer to the new stack to use for the EntryPoint\r
                       function.\r
+  @param  ...         This variable argument list is ignored for IA32, x64, and EBC.  \r
+                      For IPF, this variable argument list is expected to contain \r
+                      a single parameter of type VOID * that specifies the new backing \r
+                      store pointer.\r
+\r
 \r
 **/\r
 VOID\r
@@ -53,10 +58,17 @@ SwitchStack (
   ASSERT (EntryPoint != NULL);\r
   ASSERT (NewStack != NULL);\r
 \r
+  //\r
+  // New stack must be aligned with CPU_STACK_ALIGNMENT\r
+  //\r
+  ASSERT (((UINTN)NewStack & (CPU_STACK_ALIGNMENT - 1)) == 0);\r
+\r
   VA_START (Marker, NewStack);\r
 \r
   InternalSwitchStack (EntryPoint, Context1, Context2, NewStack, Marker);\r
 \r
+  VA_END (Marker);\r
+\r
   //\r
   // InternalSwitchStack () will never return\r
   //\r