]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/LongJump.c
Fix minor issues in GCC assembly. The operand is 64bit and "q" prefix should be applied.
[mirror_edk2.git] / MdePkg / Library / BaseLib / LongJump.c
index 302d4bd232d1e8c6fa2ab8c367cfc2b3e6e9afdf..e20444b86d85e46b25f05d185b9d27b3a76a3dc3 100644 (file)
   THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
   WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
-  Module Name:  LongJump.c\r
-\r
 **/\r
 \r
-VOID\r
-EFIAPI\r
-InternalAssertJumpBuffer (\r
-  IN      BASE_LIBRARY_JUMP_BUFFER  *JumpBuffer\r
-  );\r
 \r
-VOID\r
-EFIAPI\r
-InternalLongJump (\r
-  IN      BASE_LIBRARY_JUMP_BUFFER  *JumpBuffer,\r
-  IN      UINTN                     Value\r
-  );\r
+\r
+\r
+#include "BaseLibInternals.h"\r
 \r
 /**\r
   Restores the CPU context that was saved with SetJump().\r
@@ -35,6 +25,7 @@ InternalLongJump (
   Instead is resumes execution based on the state of JumpBuffer.\r
 \r
   If JumpBuffer is NULL, then ASSERT().\r
+  For IPF CPUs, if JumpBuffer is not aligned on a 16-byte boundary, then ASSERT().\r
   If Value is 0, then ASSERT().\r
 \r
   @param  JumpBuffer    A pointer to CPU context buffer.\r
@@ -49,5 +40,7 @@ LongJump (
   )\r
 {\r
   InternalAssertJumpBuffer (JumpBuffer);\r
+  ASSERT (Value != 0);\r
+\r
   InternalLongJump (JumpBuffer, Value);\r
 }\r