]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/LongJump.c
Updated to support compiler intrinsics properly. I had to comment out some of the...
[mirror_edk2.git] / MdePkg / Library / BaseLib / LongJump.c
index 07b81155ffa76422bac5b283c3de3dc9b49f34c8..e39bc32a3cc261cf7abe9ef6e19a0cbafdba2e13 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
 /** @file\r
-  Long Jump functions. \r
+  Long Jump functions.\r
 \r
   Copyright (c) 2006, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
 \r
   Copyright (c) 2006, Intel Corporation\r
   All rights reserved. This program and the accompanying materials\r
 \r
 **/\r
 \r
 \r
 **/\r
 \r
-VOID\r
-EFIAPI\r
-_LongJump (\r
-  IN BASE_LIBRARY_JUMP_BUFFER  *JumpBuffer,\r
-  IN      UINTN                Value\r
-  );\r
+//\r
+// Include common header file for this module.\r
+//\r
+#include "CommonHeader.h"\r
+\r
+#include "BaseLibInternals.h"\r
 \r
 /**\r
   Restores the CPU context that was saved with SetJump().\r
 \r
 /**\r
   Restores the CPU context that was saved with SetJump().\r
@@ -29,6 +29,7 @@ _LongJump (
   Instead is resumes execution based on the state of JumpBuffer.\r
 \r
   If JumpBuffer is NULL, then ASSERT().\r
   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
   If Value is 0, then ASSERT().\r
 \r
   @param  JumpBuffer    A pointer to CPU context buffer.\r
@@ -38,12 +39,12 @@ _LongJump (
 VOID\r
 EFIAPI\r
 LongJump (\r
 VOID\r
 EFIAPI\r
 LongJump (\r
-  IN BASE_LIBRARY_JUMP_BUFFER  *JumpBuffer,\r
-  IN      UINTN                Value\r
+  IN      BASE_LIBRARY_JUMP_BUFFER  *JumpBuffer,\r
+  IN      UINTN                     Value\r
   )\r
 {\r
   )\r
 {\r
-  ASSERT (JumpBuffer != NULL);\r
+  InternalAssertJumpBuffer (JumpBuffer);\r
   ASSERT (Value != 0);\r
   ASSERT (Value != 0);\r
-  \r
-  _LongJump (JumpBuffer, Value);\r
+\r
+  InternalLongJump (JumpBuffer, Value);\r
 }\r
 }\r