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
This commit is contained in:
qhuang8 2008-11-06 13:56:29 +00:00
parent 20742255f1
commit f5b2c45bf3
1 changed files with 34 additions and 0 deletions

View File

@ -260,6 +260,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.