Add new API in UefiRuntimeLib to convert function pointer.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6415 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qhuang8 2008-11-06 13:55:41 +00:00
parent c759eb45e2
commit 20742255f1
1 changed files with 31 additions and 2 deletions

View File

@ -229,7 +229,7 @@ EfiResetSystem (
);
/**
Determines the new virtual address that is to be used on subsequent memory accesses.
This service converts a function pointer from physical to virtual addressing.
@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
@ -237,7 +237,7 @@ EfiResetSystem (
applied.
@retval EFI_SUCCESS Success to execute the function.
@retval !EFI_SUCCESS Failed to e3xecute the function.
@retval !EFI_SUCCESS Failed to execute the function.
**/
EFI_STATUS
@ -247,6 +247,35 @@ EfiConvertPointer (
IN OUT VOID **Address
);
/**
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
);
/**
Change the runtime addressing mode of EFI firmware from physical to virtual.