]> git.proxmox.com Git - mirror_edk2.git/commitdiff
TcgPei need to measure anything to PCR in S3 bootpath, so skip shadow logic.
authorczhang46 <czhang46@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 28 Aug 2012 03:16:10 +0000 (03:16 +0000)
committerczhang46 <czhang46@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 28 Aug 2012 03:16:10 +0000 (03:16 +0000)
Signed-off-by: Chao Zhang <chao.b.zhang@intel.com>
Reviewed-by  : Fu, Siyuan <siyuan.fu@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13685 6f19259b-4bc3-4df7-8a09-765794883524

SecurityPkg/Tcg/TcgPei/TcgPei.c

index 08d8293ccb128f46ccee1fcc60308a4abc8b1abb..37302fd0ecf5ba382929389d30497930350e45ed 100644 (file)
@@ -583,20 +583,25 @@ PeimEntryMA (
     return EFI_UNSUPPORTED;\r
   }\r
 \r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
-  Status = (**PeiServices).RegisterForShadow(FileHandle);\r
-  if (Status == EFI_ALREADY_STARTED) {\r
-    mImageInMemory = TRUE;\r
-  } else if (Status == EFI_NOT_FOUND) {\r
-    ASSERT_EFI_ERROR (Status);\r
+  //\r
+  // Initialize TPM device\r
+  //\r
+  Status = PeiServicesGetBootMode (&BootMode);\r
+  ASSERT_EFI_ERROR (Status);\r
+\r
+  //\r
+  // In S3 path, skip shadow logic. no measurement is required\r
+  //\r
+  if (BootMode != BOOT_ON_S3_RESUME) {\r
+    Status = (**PeiServices).RegisterForShadow(FileHandle);\r
+    if (Status == EFI_ALREADY_STARTED) {\r
+      mImageInMemory = TRUE;\r
+    } else if (Status == EFI_NOT_FOUND) {\r
+      ASSERT_EFI_ERROR (Status);\r
+    }\r
   }\r
 \r
   if (!mImageInMemory) {\r
   }\r
 \r
   if (!mImageInMemory) {\r
-    //\r
-    // Initialize TPM device\r
-    //\r
-    Status = PeiServicesGetBootMode (&BootMode);\r
-    ASSERT_EFI_ERROR (Status);\r
-\r
     TpmHandle = (TIS_TPM_HANDLE)(UINTN)TPM_BASE_ADDRESS;\r
     Status = TisPcRequestUseTpm ((TIS_PC_REGISTERS_PTR)TpmHandle);\r
     if (EFI_ERROR (Status)) {\r
     TpmHandle = (TIS_TPM_HANDLE)(UINTN)TPM_BASE_ADDRESS;\r
     Status = TisPcRequestUseTpm ((TIS_PC_REGISTERS_PTR)TpmHandle);\r
     if (EFI_ERROR (Status)) {\r