]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/UefiRuntimeLib.h
Synchronization of MDE Library Spec., Mde.dec, and corresponding head files in MdePkg...
[mirror_edk2.git] / MdePkg / Include / Library / UefiRuntimeLib.h
index 396dc781d077504b814f7db2d0a949eedcf4cd6c..c29d9a15b446671a09c055ea847c8b68379fa8a3 100644 (file)
@@ -1,15 +1,15 @@
 /** @file\r
-  Library to abstract runtime services\r
+  Provides library functions for each of the UEFI Runtime Services.\r
+  Only available to DXE and UEFI module types.\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
-\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
+Copyright (c) 2006 - 2008, 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
 \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
 #ifndef __UEFI_RUNTIME_LIB__\r
@@ -229,7 +229,7 @@ EfiResetSystem (
   );\r
 \r
 /**\r
-  Determines the new virtual address that is to be used on subsequent memory accesses.\r
+  This service converts a function pointer from physical to virtual addressing. \r
 \r
   @param  DebugDisposition   Supplies type information for the pointer being converted.\r
   @param  Address            The pointer to a pointer that is to be fixed to be the\r
@@ -237,7 +237,7 @@ EfiResetSystem (
                              applied.\r
 \r
   @retval  EFI_SUCCESS  Success to execute the function.\r
-  @retval  !EFI_SUCCESS Failed to e3xecute the function.\r
+  @retval  !EFI_SUCCESS Failed to execute the function.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -247,6 +247,35 @@ EfiConvertPointer (
   IN OUT VOID               **Address\r
   );\r
 \r
+/**\r
+  Determines the new virtual address that is to be used on subsequent memory accesses.\r
+\r
+  For IA32, X64, and EBC, this service is a wrapper for the UEFI Runtime Service\r
+  ConvertPointer().  See the UEFI Specification for details. \r
+  For IPF, this function interprets Address as a pointer to an EFI_PLABEL structure\r
+  and both the EntryPoint and GP fields of an EFI_PLABEL are converted from physical\r
+  to virtiual addressing.  Since IPF allows the GP to point to an address outside\r
+  a PE/COFF image, the physical to virtual offset for the EntryPoint field is used\r
+  to adjust the GP field.  The UEFI Runtime Service ConvertPointer() is used to convert\r
+  EntryPoint and the status code for this conversion is always returned.   If the convertion\r
+  of EntryPoint fails, then neither EntryPoint nor GP are modified.  See the UEFI\r
+  Specification for details on the UEFI Runtime Service ConvertPointer().\r
+\r
+  @param  DebugDisposition   Supplies type information for the pointer being converted.\r
+  @param  Address            The pointer to a pointer that is to be fixed to be the\r
+                             value needed for the new virtual address mapping being\r
+                             applied.\r
+\r
+  @retval  EFI_SUCCESS  Success to execute the function.\r
+  @retval  !EFI_SUCCESS Failed to execute the function.\r
+\r
+**/\r
+EFI_STATUS\r
+EFIAPI\r
+EfiConvertFunctionPointer (\r
+  IN UINTN                DebugDisposition,\r
+  IN OUT VOID             **Address\r
+  );\r
 \r
 /**\r
   Change the runtime addressing mode of EFI firmware from physical to virtual.\r
@@ -333,7 +362,7 @@ EFIAPI
 EfiUpdateCapsule (\r
   IN EFI_CAPSULE_HEADER       **CapsuleHeaderArray,\r
   IN UINTN                    CapsuleCount,\r
-  IN EFI_PHYSICAL_ADDRESS     ScatterGatherList\r
+  IN EFI_PHYSICAL_ADDRESS     ScatterGatherList OPTIONAL\r
   );\r
 \r
 \r