]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/LongJump.c
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Library / BaseLib / LongJump.c
index 302d4bd232d1e8c6fa2ab8c367cfc2b3e6e9afdf..1d88e4121399a1155438b60267f47fc2bbdd61c5 100644 (file)
@@ -1,44 +1,30 @@
 /** @file\r
   Long Jump functions.\r
 \r
-  Copyright (c) 2006, Intel Corporation\r
-  All rights reserved. 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
+  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
-  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
 \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
+#include "BaseLibInternals.h"\r
 \r
 /**\r
   Restores the CPU context that was saved with SetJump().\r
 \r
-  Restores the CPU context from the buffer specified by JumpBuffer.\r
-  This function never returns to the caller.\r
-  Instead is resumes execution based on the state of JumpBuffer.\r
+  Restores the CPU context from the buffer specified by JumpBuffer. This\r
+  function never returns to the caller. Instead is resumes execution based on\r
+  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
-  @param  Value         The value to return when the SetJump() context is restored.\r
+  @param  JumpBuffer  A pointer to CPU context buffer.\r
+  @param  Value       The value to return when the SetJump() context is\r
+                      restored and must be non-zero.\r
 \r
 **/\r
 VOID\r
@@ -49,5 +35,7 @@ LongJump (
   )\r
 {\r
   InternalAssertJumpBuffer (JumpBuffer);\r
+  ASSERT (Value != 0);\r
+\r
   InternalLongJump (JumpBuffer, Value);\r
 }\r