]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkModulePkg/Library/EdkDxeRuntimeSalLib/Ipf/EsalServiceLib.c
To fix the GP convert issue, which results in the GP of registered EsalServices is...
[mirror_edk2.git] / EdkModulePkg / Library / EdkDxeRuntimeSalLib / Ipf / EsalServiceLib.c
index 55a25b46caa52fe2f255b8bde9732140448c35c6..45321554066f8494ac2c3bb412972431f51787df 100644 (file)
@@ -83,8 +83,12 @@ Returns:
 \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