# [Error.gEfiSecurityPkgTokenSpaceGuid]\r
# 0x80000001 | Invalid value provided.\r
# 0x80000002 | Reserved bits must be set to zero.\r
+# 0x80000003 | Incorrect progress or error code provided.\r
#\r
\r
[PcdsFixedAtBuild, PcdsPatchableInModule]\r
return EFI_UNSUPPORTED;\r
}\r
\r
+ if (GetFirstGuidHob (&gTpmErrorHobGuid) != NULL) {\r
+ DEBUG ((EFI_D_ERROR, "TPM error!\n"));\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+\r
mTcgDxeData.TpmHandle = (TIS_TPM_HANDLE)(UINTN)TPM_BASE_ADDRESS;\r
Status = TisPcRequestUseTpm (mTcgDxeData.TpmHandle);\r
if (EFI_ERROR (Status)) {\r
return Status;\r
}\r
\r
- if (GetFirstGuidHob (&gTpmErrorHobGuid) != NULL) {\r
- mTcgDxeData.BsCap.TPMPresentFlag = FALSE;\r
- }\r
-\r
Status = GetTpmStatus (&mTcgDxeData.BsCap.TPMDeactivatedFlag);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((\r
return EFI_UNSUPPORTED;\r
}\r
\r
+ if (GetFirstGuidHob (&gTpmErrorHobGuid) != NULL) {\r
+ DEBUG ((EFI_D_ERROR, "TPM error!\n"));\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+\r
//\r
// Initialize TPM device\r
//\r
}\r
\r
Done:\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((EFI_D_ERROR, "TPM error! Build Hob\n"));\r
+ BuildGuidHob (&gTpmErrorHobGuid,0);\r
+ REPORT_STATUS_CODE (\r
+ EFI_ERROR_CODE | EFI_ERROR_MINOR,\r
+ (PcdGet32 (PcdStatusCodeSubClassTpmDevice) | EFI_P_EC_INTERFACE_ERROR)\r
+ );\r
+ }\r
//\r
// Always intall TpmInitializationDonePpi no matter success or fail.\r
// Other driver can know TPM initialization state by TpmInitializedPpi.\r
return EFI_UNSUPPORTED;\r
}\r
\r
+ if (GetFirstGuidHob (&gTpmErrorHobGuid) != NULL) {\r
+ DEBUG ((EFI_D_ERROR, "TPM2 error!\n"));\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+ \r
Status = Tpm2RequestUseTpm ();\r
if (EFI_ERROR (Status)) {\r
- DEBUG ((EFI_D_ERROR, "TPM not detected!\n"));\r
+ DEBUG ((EFI_D_ERROR, "TPM2 not detected!\n"));\r
return Status;\r
}\r
\r
- if (GetFirstGuidHob (&gTpmErrorHobGuid) != NULL) {\r
- mTcgDxeData.BsCap.TrEEPresentFlag = FALSE;\r
- }\r
-\r
//\r
// Fill information\r
//\r
return EFI_UNSUPPORTED;\r
}\r
\r
+ if (GetFirstGuidHob (&gTpmErrorHobGuid) != NULL) {\r
+ DEBUG ((EFI_D_ERROR, "TPM2 error!\n"));\r
+ return EFI_DEVICE_ERROR;\r
+ }\r
+\r
Status = PeiServicesGetBootMode (&BootMode);\r
ASSERT_EFI_ERROR (Status);\r
\r
}\r
\r
Done:\r
+ if (EFI_ERROR (Status)) {\r
+ DEBUG ((EFI_D_ERROR, "TPM2 error! Build Hob\n"));\r
+ BuildGuidHob (&gTpmErrorHobGuid,0);\r
+ REPORT_STATUS_CODE (\r
+ EFI_ERROR_CODE | EFI_ERROR_MINOR,\r
+ (PcdGet32 (PcdStatusCodeSubClassTpmDevice) | EFI_P_EC_INTERFACE_ERROR)\r
+ );\r
+ }\r
//\r
// Always intall TpmInitializationDonePpi no matter success or fail.\r
// Other driver can know TPM initialization state by TpmInitializedPpi.\r