]> git.proxmox.com Git - mirror_edk2.git/commitdiff
To fix the GP convert issue, which results in the GP of registered EsalServices is...
authoryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 18 Apr 2007 09:27:05 +0000 (09:27 +0000)
committeryshang1 <yshang1@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 18 Apr 2007 09:27:05 +0000 (09:27 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2576 6f19259b-4bc3-4df7-8a09-765794883524

EdkModulePkg/Library/EdkDxeRuntimeSalLib/Ipf/EsalServiceLib.c

index 55a25b46caa52fe2f255b8bde9732140448c35c6..45321554066f8494ac2c3bb412972431f51787df 100644 (file)
@@ -83,8 +83,12 @@ Returns:
 \r
 --*/\r
 {\r
 \r
 --*/\r
 {\r
-  EfiConvertPointer (0x0, (VOID **) &mPlabel.EntryPoint);\r
-  EfiConvertPointer (EFI_IPF_GP_POINTER, (VOID **) &mPlabel.GP);\r
+       UINT64  PhysicalEntryPoint;\r
+\r
+       PhysicalEntryPoint = mPlabel.EntryPoint;\r
+\r
+       EfiConvertPointer (0x0, (VOID **) &mPlabel.EntryPoint);\r
+       mPlabel.GP += mPlabel.EntryPoint - PhysicalEntryPoint;\r
 \r
   SetEsalVirtualEntryPoint (mPlabel.EntryPoint, mPlabel.GP);\r
 }\r
 \r
   SetEsalVirtualEntryPoint (mPlabel.EntryPoint, mPlabel.GP);\r
 }\r