NULL,\r
(VOID **) &VariableServices\r
);\r
- ASSERT_EFI_ERROR (Status);\r
+ if (EFI_ERROR (Status)) {\r
+ return;\r
+ }\r
\r
VarSize = sizeof (EFI_PHYSICAL_ADDRESS);\r
Status = VariableServices->GetVariable (\r
NULL,\r
(VOID **) &SmmAccess\r
);\r
+ if (!EFI_ERROR (Status)) {\r
+ DEBUG ((EFI_D_ERROR, "Close all SMRAM regions before executing boot script\n"));\r
+ \r
+ for (Index = 0, Status = EFI_SUCCESS; !EFI_ERROR (Status); Index++) {\r
+ Status = SmmAccess->Close ((EFI_PEI_SERVICES **)GetPeiServicesTablePointer (), SmmAccess, Index);\r
+ }\r
\r
- DEBUG ((EFI_D_ERROR, "Close all SMRAM regions before executing boot script\n"));\r
-\r
- for (Index = 0, Status = EFI_SUCCESS; !EFI_ERROR (Status); Index++) {\r
- Status = SmmAccess->Close ((EFI_PEI_SERVICES **)GetPeiServicesTablePointer (), SmmAccess, Index);\r
- }\r
-\r
- DEBUG ((EFI_D_ERROR, "Lock all SMRAM regions before executing boot script\n"));\r
-\r
- for (Index = 0, Status = EFI_SUCCESS; !EFI_ERROR (Status); Index++) {\r
- Status = SmmAccess->Lock ((EFI_PEI_SERVICES **)GetPeiServicesTablePointer (), SmmAccess, Index);\r
+ DEBUG ((EFI_D_ERROR, "Lock all SMRAM regions before executing boot script\n"));\r
+ \r
+ for (Index = 0, Status = EFI_SUCCESS; !EFI_ERROR (Status); Index++) {\r
+ Status = SmmAccess->Lock ((EFI_PEI_SERVICES **)GetPeiServicesTablePointer (), SmmAccess, Index);\r
+ }\r
}\r
}\r
\r
PEI_SMM_ACCESS_PPI *SmmAccess;\r
UINTN Index;\r
ACPI_S3_CONTEXT *AcpiS3Context;\r
- EFI_PEI_READ_ONLY_VARIABLE2_PPI *VariableServices;\r
EFI_PHYSICAL_ADDRESS TempEfiBootScriptExecutorVariable;\r
EFI_PHYSICAL_ADDRESS TempAcpiS3Context;\r
BOOT_SCRIPT_EXECUTOR_VARIABLE *EfiBootScriptExecutorVariable;\r
\r
DEBUG ((EFI_D_ERROR, "Enter S3 PEIM\r\n"));\r
\r
- Status = PeiServicesLocatePpi (\r
- &gPeiSmmAccessPpiGuid,\r
- 0,\r
- NULL,\r
- (VOID **) &SmmAccess\r
- );\r
- for (Index = 0; !EFI_ERROR (Status); Index++) {\r
- Status = SmmAccess->Open ((EFI_PEI_SERVICES **)GetPeiServicesTablePointer (), SmmAccess, Index);\r
- }\r
-\r
- Status = PeiServicesLocatePpi (\r
- &gEfiPeiReadOnlyVariable2PpiGuid,\r
- 0,\r
- NULL,\r
- (VOID **) &VariableServices\r
- );\r
- if (EFI_ERROR (Status)) {\r
- return Status;\r
- }\r
-\r
VarSize = sizeof (EFI_PHYSICAL_ADDRESS);\r
Status = RestoreLockBox (\r
&gEfiAcpiVariableGuid,\r
//\r
GuidHob = GetFirstGuidHob (&gEfiAcpiVariableGuid);\r
if (GuidHob != NULL) {\r
+ Status = PeiServicesLocatePpi (\r
+ &gPeiSmmAccessPpiGuid,\r
+ 0,\r
+ NULL,\r
+ (VOID **) &SmmAccess\r
+ );\r
+ for (Index = 0; !EFI_ERROR (Status); Index++) {\r
+ Status = SmmAccess->Open ((EFI_PEI_SERVICES **)GetPeiServicesTablePointer (), SmmAccess, Index);\r
+ }\r
+\r
SmramDescriptor = (EFI_SMRAM_DESCRIPTOR *) GET_GUID_HOB_DATA (GuidHob);\r
SmmS3ResumeState = (SMM_S3_RESUME_STATE *)(UINTN)SmramDescriptor->CpuStart;\r
\r