summaryrefslogtreecommitdiff
path: root/EdkModulePkg/Library/EdkUefiRuntimeLib/Ipf/RuntimeLib.c
diff options
context:
space:
mode:
authoryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-24 06:02:46 +0000
committeryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>2006-11-24 06:02:46 +0000
commitc25aaa00aa0e39ed1242a29576703cffedef850a (patch)
tree648c4a4d1f23c72d6798dc2612f707e2fc6a608c /EdkModulePkg/Library/EdkUefiRuntimeLib/Ipf/RuntimeLib.c
parent9710b9a67c7d949b339b5540b0eaa735d56e019b (diff)
downloadedk2-platforms-c25aaa00aa0e39ed1242a29576703cffedef850a.tar.xz
Move SAL "initialization/virtual address change notification" from EdkUefiRuntimeLib to EdkDxeSalLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2009 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'EdkModulePkg/Library/EdkUefiRuntimeLib/Ipf/RuntimeLib.c')
-rw-r--r--EdkModulePkg/Library/EdkUefiRuntimeLib/Ipf/RuntimeLib.c29
1 files changed, 4 insertions, 25 deletions
diff --git a/EdkModulePkg/Library/EdkUefiRuntimeLib/Ipf/RuntimeLib.c b/EdkModulePkg/Library/EdkUefiRuntimeLib/Ipf/RuntimeLib.c
index 6399f67213..3e9554721a 100644
--- a/EdkModulePkg/Library/EdkUefiRuntimeLib/Ipf/RuntimeLib.c
+++ b/EdkModulePkg/Library/EdkUefiRuntimeLib/Ipf/RuntimeLib.c
@@ -24,8 +24,6 @@ Module Name:
STATIC EFI_EVENT mRuntimeNotifyEvent;
STATIC EFI_EVENT mEfiVirtualNotifyEvent;
-STATIC EFI_PLABEL mPlabel;
-STATIC EXTENDED_SAL_BOOT_SERVICE_PROTOCOL *mEsalBootService;
EFI_RUNTIME_SERVICES *mRT;
@@ -103,10 +101,10 @@ Returns:
ChildNotifyEventHandler (Event, NULL);
}
- mRT->ConvertPointer (0x0, (VOID **) &mPlabel.EntryPoint);
- mRT->ConvertPointer (EFI_IPF_GP_POINTER, (VOID **) &mPlabel.GP);
-
- SetEsalVirtualEntryPoint (mPlabel.EntryPoint, mPlabel.GP);
+ //
+ // Update global for Runtime Services Table
+ //
+ EfiConvertPointer (0, (VOID **) &mRT);
}
EFI_STATUS
@@ -135,30 +133,11 @@ Returns:
--*/
{
- EFI_PLABEL *Plabel;
EFI_STATUS Status;
mRT = SystemTable->RuntimeServices;
//
- // The protocol contains a function pointer, which is an indirect procedure call.
- // An indirect procedure call goes through a plabel, and pointer to a function is
- // a pointer to a plabel. To implement indirect procedure calls that can work in
- // both physical and virtual mode, two plabels are required (one physical and one
- // virtual). So lets grap the physical PLABEL for the EsalEntryPoint and store it
- // away. We cache it in a module global, so we can register the vitrual version.
- //
- Status = gBS->LocateProtocol (&gEfiExtendedSalBootServiceProtocolGuid, NULL, &mEsalBootService);
- ASSERT_EFI_ERROR (Status);
-
- Plabel = (EFI_PLABEL *) (UINTN) mEsalBootService->ExtendedSalProc;
-
- mPlabel.EntryPoint = Plabel->EntryPoint;
- mPlabel.GP = Plabel->GP;
-
- SetEsalPhysicalEntryPoint (mPlabel.EntryPoint, mPlabel.GP);
-
- //
// Register our ExitBootServices () notify function
//