+ //\r
+ // Look at the physical mode ESAL entry point to determine of the ESAL entry point has been initialized\r
+ //\r
+ if (*(UINT64 *)ReturnReg.r9 == 0 && *(UINT64 *)(ReturnReg.r9 + 8) == 0) {\r
+ //\r
+ // Both the function ponter and the GP value are zero, so attempt to initialize the ESAL Entry Point\r
+ //\r
+ DxeSalLibInitialize ();\r
+ ReturnReg = GetEsalEntryPoint ();\r
+ if (ReturnReg.Status != EFI_SAL_SUCCESS) {\r
+ return ReturnReg;\r
+ }\r
+ if (*(UINT64 *)ReturnReg.r9 == 0 && *(UINT64 *)(ReturnReg.r9 + 8) == 0) {\r
+ //\r
+ // The ESAL Entry Point could not be initialized\r
+ //\r
+ ReturnReg.Status = EFI_SAL_ERROR;\r
+ return ReturnReg;\r
+ }\r
+ }\r
+\r