/** @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
);\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
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
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
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