summaryrefslogtreecommitdiffstats
path: root/MdePkg/Library/UefiRuntimeLib
diff options
context:
space:
mode:
authorqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2008-11-06 13:56:29 +0000
committerqhuang8 <qhuang8@6f19259b-4bc3-4df7-8a09-765794883524>2008-11-06 13:56:29 +0000
commitf5b2c45bf32edc54116e4e86b04ff275449ebc70 (patch)
tree82e2e610724f65d507faa26c95b0de46078e5f12 /MdePkg/Library/UefiRuntimeLib
parent20742255f1a40578d4b24ee22aa95ab67f57edd8 (diff)
downloadedk2-f5b2c45bf32edc54116e4e86b04ff275449ebc70.tar.gz
edk2-f5b2c45bf32edc54116e4e86b04ff275449ebc70.tar.bz2
edk2-f5b2c45bf32edc54116e4e86b04ff275449ebc70.zip
Add IA32, x64 & EBC version of EfiConvertFunctionPointer()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6416 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/UefiRuntimeLib')
-rw-r--r--MdePkg/Library/UefiRuntimeLib/RuntimeService.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/MdePkg/Library/UefiRuntimeLib/RuntimeService.c b/MdePkg/Library/UefiRuntimeLib/RuntimeService.c
index b4479d0bdb..f4076513f4 100644
--- a/MdePkg/Library/UefiRuntimeLib/RuntimeService.c
+++ b/MdePkg/Library/UefiRuntimeLib/RuntimeService.c
@@ -261,6 +261,40 @@ EfiConvertPointer (
/**
+ Determines the new virtual address that is to be used on subsequent memory accesses.
+
+ For IA32, X64, and EBC, this service is a wrapper for the UEFI Runtime Service
+ ConvertPointer(). See the UEFI Specification for details.
+ For IPF, this function interprets Address as a pointer to an EFI_PLABEL structure
+ and both the EntryPoint and GP fields of an EFI_PLABEL are converted from physical
+ to virtiual addressing. Since IPF allows the GP to point to an address outside
+ a PE/COFF image, the physical to virtual offset for the EntryPoint field is used
+ to adjust the GP field. The UEFI Runtime Service ConvertPointer() is used to convert
+ EntryPoint and the status code for this conversion is always returned. If the convertion
+ of EntryPoint fails, then neither EntryPoint nor GP are modified. See the UEFI
+ Specification for details on the UEFI Runtime Service ConvertPointer().
+
+ @param DebugDisposition Supplies type information for the pointer being converted.
+ @param Address The pointer to a pointer that is to be fixed to be the
+ value needed for the new virtual address mapping being
+ applied.
+
+ @retval EFI_SUCCESS Success to execute the function.
+ @retval !EFI_SUCCESS Failed to execute the function.
+
+**/
+EFI_STATUS
+EFIAPI
+EfiConvertFunctionPointer (
+ IN UINTN DebugDisposition,
+ IN OUT VOID **Address
+ )
+{
+ return EfiConvertPointer (DebugDisposition, Address);
+}
+
+
+/**
Conver the standard Lib double linked list to a virtual mapping.
@param DebugDisposition Supplies type information for the pointer being converted.