From: yshang1 Date: Wed, 18 Apr 2007 09:27:05 +0000 (+0000) Subject: To fix the GP convert issue, which results in the GP of registered EsalServices is... X-Git-Tag: edk2-stable201903~23323 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=8350b26d434952e06f1ad54021161d73f63159ef;p=mirror_edk2.git To fix the GP convert issue, which results in the GP of registered EsalServices is not correctly. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2576 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/EdkModulePkg/Library/EdkDxeRuntimeSalLib/Ipf/EsalServiceLib.c b/EdkModulePkg/Library/EdkDxeRuntimeSalLib/Ipf/EsalServiceLib.c index 55a25b46ca..4532155406 100644 --- a/EdkModulePkg/Library/EdkDxeRuntimeSalLib/Ipf/EsalServiceLib.c +++ b/EdkModulePkg/Library/EdkDxeRuntimeSalLib/Ipf/EsalServiceLib.c @@ -83,8 +83,12 @@ Returns: --*/ { - EfiConvertPointer (0x0, (VOID **) &mPlabel.EntryPoint); - EfiConvertPointer (EFI_IPF_GP_POINTER, (VOID **) &mPlabel.GP); + UINT64 PhysicalEntryPoint; + + PhysicalEntryPoint = mPlabel.EntryPoint; + + EfiConvertPointer (0x0, (VOID **) &mPlabel.EntryPoint); + mPlabel.GP += mPlabel.EntryPoint - PhysicalEntryPoint; SetEsalVirtualEntryPoint (mPlabel.EntryPoint, mPlabel.GP); }