audk/SecurityPkg/Library
Qi Zhang 6f4e10d6db SecurityPkg: Add retry mechanism for tpm command
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3980

As per TCG PC Client Device Driver Design Principle document,
if tpm commands fails due to timeout condition, then it should
have retry mechanism (3 retry attempts).
Existing implementation of PtpCrbTpmCommand does not have retry
mechanism if it fails with EFI_TIMEOUT.

See TCG PC Client Device Driver Design Principles for TPM 2.0
https://trustedcomputinggroup.org/wp-content/uploads/TCG_PCClient_Device_Driver_Design_Principles_TPM2p0_v1p1_r4_211104_final.pdf
Vision 1.1, Revision 0.04
Section 7.2.1

Signed-off-by: Qi Zhang <qi1.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Tested-by: Swapnil Patil <S.Keshavrao.Patil@dell.com>
2022-07-31 16:34:01 +00:00
..
AuthVariableLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeImageAuthenticationStatusLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeImageVerificationLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeRsa2048Sha256GuidedSectionExtractLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeTcg2PhysicalPresenceLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeTcgPhysicalPresenceLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeTpm2MeasureBootLib SecurityPkg: Support CcMeasurementProtocol in DxeTpm2MeasureBootLib 2021-12-11 17:00:53 +00:00
DxeTpmMeasureBootLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
DxeTpmMeasurementLib SecurityPkg: Support CcMeasurementProtocol in DxeTpmMeasurementLib 2021-12-11 17:00:53 +00:00
FmpAuthenticationLibPkcs7 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
FmpAuthenticationLibRsa2048Sha256 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HashInstanceLibSha1 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HashInstanceLibSha256 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HashInstanceLibSha384 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HashInstanceLibSha512 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HashInstanceLibSm3 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
HashLibBaseCryptoRouter SecurityPkg: Reallocate TPM Active PCRs based on platform support 2021-12-17 15:03:43 +00:00
HashLibTdx SecurityPkg/HashLibTdx: Return EFI_UNSUPPORTED if it is not Tdx guest 2022-06-16 08:08:19 +00:00
HashLibTpm2 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiDxeTpmPlatformHierarchyLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiDxeTpmPlatformHierarchyLibNull ArmVirtPkg/TPM: Add a NULL implementation of TpmPlatformHierarchyLib 2021-10-05 09:54:11 +00:00
PeiRsa2048Sha256GuidedSectionExtractLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiTcg2PhysicalPresenceLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PeiTpmMeasurementLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
PlatformPKProtectionLibVarPolicy SecurityPkg: PlatformPKProtectionLib: Added PK protection interface 2022-07-07 01:07:00 +00:00
PlatformSecureLibNull SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
RpmcLibNull SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
SecTpmMeasurementLib Security: Add SecTpmMeasurementLibTdx 2022-06-07 11:05:53 +00:00
SecureBootVariableLib SecurityPkg: SecureBootVariableLib: Added unit tests 2022-07-07 01:07:00 +00:00
SecureBootVariableProvisionLib SecurityPkg: SecureBootVariableProvisionLib: Updated implementation 2022-07-07 01:07:00 +00:00
SmmTcg2PhysicalPresenceLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Tcg2PpVendorLibNull SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcgEventLogRecordLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcgPpVendorLibNull SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcgStorageCoreLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TcgStorageOpalLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Tpm2CommandLib SecurityPkg: Debug code to audit BIOS TPM extend operations 2021-12-17 15:03:43 +00:00
Tpm2DeviceLibDTpm SecurityPkg: Add retry mechanism for tpm command 2022-07-31 16:34:01 +00:00
Tpm2DeviceLibRouter SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Tpm2DeviceLibTcg2 SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Tpm12CommandLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Tpm12DeviceLibDTpm SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Tpm12DeviceLibTcg SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
TpmCommLib SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
VariableKeyLibNull SecurityPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00