]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.c
MdeModulePkg: SmmLockBoxPeiLib: work without EFI_PEI_SMM_COMMUNICATION_PPI
[mirror_edk2.git] / MdeModulePkg / Library / SmmLockBoxLib / SmmLockBoxPeiLib.c
index bd3204b195343cdf6c89262a64a0d871e8f6ad52..cea1fed682d4614711b27e6115db0154f3bbee8d 100644 (file)
@@ -563,7 +563,10 @@ RestoreLockBox (
              (VOID **)&SmmCommunicationPpi\r
              );\r
   if (EFI_ERROR (Status)) {\r
-    return EFI_NOT_STARTED;\r
+    DEBUG ((EFI_D_INFO, "SmmLockBoxPeiLib LocatePpi - (%r)\n", Status));\r
+    Status = InternalRestoreLockBoxFromSmram (Guid, Buffer, Length);\r
+    DEBUG ((EFI_D_INFO, "SmmLockBoxPeiLib RestoreLockBox - Exit (%r)\n", Status));\r
+    return Status;\r
   }\r
 \r
   //\r
@@ -682,7 +685,10 @@ RestoreAllLockBoxInPlace (
              (VOID **)&SmmCommunicationPpi\r
              );\r
   if (EFI_ERROR (Status)) {\r
-    return EFI_NOT_STARTED;\r
+    DEBUG ((EFI_D_INFO, "SmmLockBoxPeiLib LocatePpi - (%r)\n", Status));\r
+    Status = InternalRestoreAllLockBoxInPlaceFromSmram ();\r
+    DEBUG ((EFI_D_INFO, "SmmLockBoxPeiLib RestoreAllLockBoxInPlace - Exit (%r)\n", Status));\r
+    return Status;\r
   }\r
 \r
   //\r