diff options
Diffstat (limited to 'SecurityPkg/Tcg/TcgPei')
-rw-r--r-- | SecurityPkg/Tcg/TcgPei/TcgPei.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/SecurityPkg/Tcg/TcgPei/TcgPei.c b/SecurityPkg/Tcg/TcgPei/TcgPei.c index 60d9192103..350e60e561 100644 --- a/SecurityPkg/Tcg/TcgPei/TcgPei.c +++ b/SecurityPkg/Tcg/TcgPei/TcgPei.c @@ -707,10 +707,17 @@ PeimEntryMA ( if (EFI_ERROR (Status) ) {
return Status;
}
- Status = TpmCommContinueSelfTest ((EFI_PEI_SERVICES**)PeiServices, TpmHandle);
- if (EFI_ERROR (Status)) {
- return Status;
+
+ //
+ // TpmSelfTest is optional on S3 path, skip it to save S3 time
+ //
+ if (BootMode != BOOT_ON_S3_RESUME) {
+ Status = TpmCommContinueSelfTest ((EFI_PEI_SERVICES**)PeiServices, TpmHandle);
+ if (EFI_ERROR (Status)) {
+ return Status;
+ }
}
+
Status = PeiServicesInstallPpi (&mTpmInitializedPpiList);
ASSERT_EFI_ERROR (Status);
}
|