Data Structures | |
struct | TPM2_DEVICE_INTERFACE |
Typedefs | |
typedef IN UINT8 * | InputParameterBlock |
typedef IN UINT8 IN OUT UINT32 * | OutputParameterBlockSize |
typedef IN UINT8 IN OUT UINT32 IN UINT8 * | OutputParameterBlock |
Functions | |
EFI_STATUS EFIAPI | Tpm2SubmitCommand (IN UINT32 InputParameterBlockSize, IN UINT8 *InputParameterBlock, IN OUT UINT32 *OutputParameterBlockSize, IN UINT8 *OutputParameterBlock) |
EFI_STATUS EFIAPI | Tpm2RequestUseTpm (VOID) |
typedef | EFI_STATUS (EFIAPI *TPM2_SUBMIT_COMMAND)(IN UINT32 InputParameterBlockSize |
EFI_STATUS EFIAPI | Tpm2RegisterTpm2DeviceLib (IN TPM2_DEVICE_INTERFACE *Tpm2Device) |
Copyright (c) 2013, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
typedef IN UINT8* InputParameterBlock |
typedef IN UINT8 IN OUT UINT32 IN UINT8* OutputParameterBlock |
typedef IN UINT8 IN OUT UINT32* OutputParameterBlockSize |
typedef EFI_STATUS | ( | EFIAPI * | TPM2_SUBMIT_COMMAND | ) |
This service enables the sending of commands to the TPM2.
[in] | InputParameterBlockSize | Size of the TPM2 input parameter block. |
[in] | InputParameterBlock | Pointer to the TPM2 input parameter block. |
[in,out] | OutputParameterBlockSize | Size of the TPM2 output parameter block. |
[in] | OutputParameterBlock | Pointer to the TPM2 output parameter block. |
EFI_SUCCESS | The command byte stream was successfully sent to the device and a response was successfully received. | |
EFI_DEVICE_ERROR | The command was not successfully sent to the device or a response was not successfully received from the device. | |
EFI_BUFFER_TOO_SMALL | The output parameter block is too small. |
EFI_SUCCESS | Get the control of TPM2 chip. | |
EFI_NOT_FOUND | TPM2 not found. | |
EFI_DEVICE_ERROR | Unexpected device behavior. |
Referenced by AccessVariableStore(), AddDefaultUserProfile(), AddPubKeyInStore(), AddUserInfo(), AddUserProfile(), AddUserSelection(), AssignOpRegion(), AutenticatedVariableServiceInitialize(), AuthServiceInternalFindVariable(), AuthServiceInternalUpdateVariableWithTimeStamp(), AuthVariableLibInitialize(), AuthVariableLibProcessVariable(), AutoUpdateLangVariable(), BaseCrypto2Hash(), CallAddUser(), CheckConsole(), CheckCurrentUserAccessRight(), CleanCertsFromDb(), CreatePkX509SignatureList(), CreateTimeBasedPayload(), CreateUserProfile(), CredentialDelete(), CredentialDriverCallback(), CredentialEnroll(), CredentialUser(), DeleteCertsFromDb(), DeleteKeyExchangeKey(), DeletePlatformKey(), DeleteSignature(), DeleteUser(), DeleteVariable(), DelUserInfo(), DelUserProfile(), DetectTpmDevice(), DisplayLoadPermit(), DriverEntry(), DxeDeferImageLoadHandler(), DxeImageVerificationHandler(), DxeTpm2MeasureBootHandler(), DxeTpmMeasureBootHandler(), EnrollImageSignatureToSigDB(), EnrollKeyExchangeKey(), EnrollPlatformKey(), EnrollRsa2048ToKek(), EnrollSignatureDatabase(), EnrollX509HashtoSigDB(), EnrollX509ToKek(), EnrollX509toSigDB(), EsalGetNextVariableName(), EsalGetVariable(), EsalSetVariable(), ExecutePendingTpmRequest(), FileInfo(), FileSystemVolumeLabelInfo(), FilterSignatureList(), FindFiles(), FindFileSystem(), FindInfoByType(), FindUserInfo(), FindUserInfoByType(), FindUserProfileByInfo(), FirmwareVolmeInfoPpiNotifyCallback(), FlushHob2Nv(), FtwVariableSpace(), GenerateUserId(), GetAccessControl(), GetAccessRight(), GetAllUserInfo(), GetAvailableKeyIndex(), GetCertsFromDb(), GetEndPointer(), GetFileData(), GetFileType(), GetFvbHandleByAddress(), GetIdentifyType(), GetImageType(), GetLbaAndOffsetByAddress(), GetProcessorsCpuLocation(), GetToken(), GetTpmCapability(), GetTpmState(), GetTpmStatus(), GetUserInfo(), GetUserName(), GetVariableDataPtr(), GetVariableNamePtr(), GetVarStoreHeader(), Hash2DriverEntryPoint(), Hash2ServiceBindingCreateChild(), Hash2ServiceBindingDestroyChild(), HashAndExtend(), HashCompleteAndExtend(), HashInstanceLibSha1Constructor(), HashInstanceLibSha256Constructor(), HashLogExtendEvent(), HashStart(), HashUpdate(), IdentifyAndTypeUser(), IdentifyAutoLogonUser(), IdentifyByProviderId(), IdentifyOrTypeUser(), IdentifyUser(), InCustomMode(), InitCredentialTable(), InitFormBrowser(), InitializeTcgSmm(), InitiateTPerReset(), InitProviderInfo(), InitUserProfileDb(), InsertCertsToDb(), InstallAcpiTable(), InstallSecureBootConfigForm(), InstallTcg2(), InstallTcg2ConfigForm(), InstallTcgConfigForm(), InstallTrEE(), InstallTrEEConfigForm(), IsAllowedByDb(), IsBootOption(), IsCertHashFoundInDbx(), IsDevicePathInList(), IsForbiddenByDbx(), IsRdRandSupported(), IsSignatureFoundInDatabase(), IsTpmUsable(), IsValidVariableHeader(), IsX509CertInDbx(), LoadDeferredImage(), LoadDeferredImageInit(), LockTpmPhysicalPresence(), LogHashEvent(), MeasureAllBootVariables(), MeasureAllSecureVariables(), MeasureFvImage(), MeasureHandoffTables(), MeasureMainBios(), MeasurePeImageAndExtend(), MeasureSecureBootPolicy(), MeasureVariable(), MemoryClearCallback(), ModifyTable(), ModifyUserInfo(), ModifyUserName(), MorDriverEntryPoint(), MorLockDriverEntryPointSmm(), MorLockDriverInit(), OnExitBootServices(), OnExitBootServicesFailed(), OnReadyToBoot(), OpenFileByDevicePath(), OpenRoot(), P7CheckRevocation(), P7CheckTrust(), PassTimestampCheck(), PasswordProviderInit(), PeimEntryMA(), PeimEntryMP(), PhysicalPresenceCallback(), PhysicalPresencePpiNotifyCallback(), Pkcs7VerifyDriverEntry(), ProcessVariable(), ProcessVarWithKek(), ProcessVarWithPk(), PublishAcpiTable(), PublishTpm2(), PublishUserTable(), RdRandGenerateEntropy(), RdRandGetBytes(), RdRandGetSeed128(), RdRandGetWords(), ReadAndMeasureBootVariable(), ReadAndMeasureVariable(), ReadFileContent(), ReadUserKey(), ReadVariable(), Reclaim(), ReclaimForOS(), RngDriverEntry(), RngGetInfo(), RngGetRNG(), Rsa2048Sha256GuidedSectionHandler(), SaveAccessPolicy(), SaveIdentityPolicy(), SaveNvUserProfile(), SavePpRequest(), SaveSecureBootVariable(), SaveTcg2PCRBanksRequest(), SaveTcg2PpRequest(), SaveTcg2PpRequestParameter(), SaveTrEEPpRequest(), SecureBootCallback(), SecureBootConfigDriverEntryPoint(), SecureBootConfigDriverUnload(), SecureBootExtractConfig(), SecureBootHook(), SecureBootRouteConfig(), SelectUserToDelete(), SelectUserToModify(), SetCreateDate(), SetTpm2HashMask(), SetupEventLog(), SetUserName(), SetVariableCheckHandlerMor(), SignalEventUserProfileChanged(), Tcg2ConfigDriverEntryPoint(), Tcg2ConfigDriverUnload(), Tcg2ConfigPeimEntryPoint(), Tcg2ExecutePendingTpmRequest(), Tcg2ExecutePhysicalPresence(), Tcg2HashLogExtendEvent(), Tcg2MeasureGptTable(), Tcg2MeasurePeImage(), Tcg2PhysicalPresenceLibConstructor(), Tcg2PhysicalPresenceLibGetManagementFlags(), Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction(), Tcg2PhysicalPresenceLibNeedUserConfirm(), Tcg2PhysicalPresenceLibProcessRequest(), Tcg2PhysicalPresenceLibReturnOperationResponseToOsFunction(), Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction(), Tcg2ReadUserKey(), Tcg2SetActivePCRBanks(), Tcg2SubmitCommand(), Tcg2UserConfirm(), TcgConfigDriverEntryPoint(), TcgConfigDriverUnload(), TcgDxeHashLogExtendEvent(), TcgDxeHashLogExtendEventI(), TcgDxeLogEvent(), TcgDxeLogHashEvent(), TcgExtractConfig(), TcgMeasureGptTable(), TcgMeasurePeImage(), TcgPhysicalPresenceLibNeedUserConfirm(), TcgPhysicalPresenceLibProcessRequest(), TcgRouteConfig(), TisPcExecute(), TisPcPrepareCommand(), TisPcReceive(), TisPcRequestUseTpm(), TisPcSend(), TisTpmCommand(), TPerResetAtEndOfDxe(), Tpm12ForceClear(), Tpm12MeasureAndLogData(), Tpm12NvDefineSpace(), Tpm12NvReadValue(), Tpm12NvWriteValue(), Tpm12RequestUseTpm(), Tpm12SaveState(), Tpm12Startup(), Tpm12SubmitCommand(), Tpm12TisPcPrepareCommand(), Tpm12TisPcRequestUseTpm(), Tpm12TisTpmCommand(), Tpm20MeasureAndLogData(), Tpm2ChangeEPS(), Tpm2ChangePPS(), Tpm2Clear(), Tpm2ClearControl(), Tpm2CommandAllocPcr(), Tpm2CommandChangeEps(), Tpm2CommandClear(), Tpm2DictionaryAttackLockReset(), Tpm2DictionaryAttackParameters(), Tpm2EventSequenceComplete(), Tpm2FlushContext(), Tpm2GetCapability(), Tpm2GetCapabilityAlgorithmSet(), Tpm2GetCapabilityFamily(), Tpm2GetCapabilityFirmwareVersion(), Tpm2GetCapabilityInputBufferSize(), Tpm2GetCapabilityLockoutCounter(), Tpm2GetCapabilityLockoutInterval(), Tpm2GetCapabilityManufactureID(), Tpm2GetCapabilityMaxCommandResponseSize(), Tpm2GetCapabilityPcrs(), Tpm2GetCapabilitySupportedAlg(), Tpm2HashSequenceStart(), Tpm2HierarchyChangeAuth(), Tpm2HierarchyControl(), Tpm2InstanceLibDTpmConstructor(), Tpm2NvDefineSpace(), Tpm2NvGlobalWriteLock(), Tpm2NvRead(), Tpm2NvReadLock(), Tpm2NvReadPublic(), Tpm2NvUndefineSpace(), Tpm2NvWrite(), Tpm2NvWriteLock(), Tpm2PcrAllocate(), Tpm2PcrEvent(), Tpm2PcrExtend(), Tpm2PcrRead(), Tpm2PolicyCommandCode(), Tpm2PolicyGetDigest(), Tpm2PolicyOR(), Tpm2PolicySecret(), Tpm2RequestUseTpm(), Tpm2SelfTest(), Tpm2SequenceComplete(), Tpm2SequenceUpdate(), Tpm2SetAlgorithmSet(), Tpm2SetPrimaryPolicy(), Tpm2Shutdown(), Tpm2StartAuthSession(), Tpm2Startup(), Tpm2SubmitCommand(), Tpm2TestParms(), TpmCommandClear(), TpmCommandNoReturnData(), TpmCommContinueSelfTest(), TpmCommExtend(), TpmCommGetCapability(), TpmCommGetFlags(), TpmCommPhysicalPresence(), TpmCommStartup(), TpmMeasureAndLogData(), TpmPhysicalPresence(), TrEEConfigDriverEntryPoint(), TrEEConfigDriverUnload(), TrEEConfigPeimEntryPoint(), TrEEExecutePendingTpmRequest(), TrEEExecutePhysicalPresence(), TreeHashLogExtendEvent(), TrEEPhysicalPresenceLibNeedUserConfirm(), TrEEPhysicalPresenceLibProcessRequest(), TrEEReadUserKey(), TreeSubmitCommand(), UefiMain(), UpdateCredentialProvider(), UpdateDeletePage(), UpdateFileExplorer(), UpdatePlatformMode(), UpdateUserInfo(), UpdateVariable(), UsbProviderInit(), UserIdentifyManagerCallback(), UserIdentifyManagerInit(), UserProfileCreate(), UserProfileDelete(), UserProfileDeleteInfo(), UserProfileFind(), UserProfileGetInfo(), UserProfileGetNext(), UserProfileIdentify(), UserProfileManagerCallback(), UserProfileManagerInit(), UserProfileSetInfo(), VariableCommonInitialize(), VariableServiceInitialize(), VendorKeyIsModified(), VerifyBuffer(), VerifyTimeBasedPayload(), VerifyTimeBasedPayloadAndUpdate(), and VerifyVariable().
EFI_STATUS EFIAPI Tpm2RegisterTpm2DeviceLib | ( | IN TPM2_DEVICE_INTERFACE * | Tpm2Device | ) |
This service register TPM2 device.
Tpm2Device | TPM2 device |
EFI_SUCCESS | This TPM2 device is registered successfully. | |
EFI_UNSUPPORTED | System does not support register this TPM2 device. | |
EFI_ALREADY_STARTED | System already register this TPM2 device. |
References InternalGetTpm2DeviceInterface(), and mInternalTpm2DeviceInterfaceGuid.
Referenced by Tpm2InstanceLibDTpmConstructor().
EFI_STATUS EFIAPI Tpm2RequestUseTpm | ( | VOID | ) |
This service requests use TPM2.
EFI_SUCCESS | Get the control of TPM2 chip. | |
EFI_NOT_FOUND | TPM2 not found. | |
EFI_DEVICE_ERROR | Unexpected device behavior. |
References DTpm2RequestUseTpm(), EFI_STATUS(), InternalGetTpm2DeviceInterface(), mTcg2Protocol, mTreeProtocol, and TPM2_DEVICE_INTERFACE::Tpm2RequestUseTpm.
Referenced by DriverEntry(), and PeimEntryMA().
EFI_STATUS EFIAPI Tpm2SubmitCommand | ( | IN UINT32 | InputParameterBlockSize, | |
IN UINT8 * | InputParameterBlock, | |||
IN OUT UINT32 * | OutputParameterBlockSize, | |||
IN UINT8 * | OutputParameterBlock | |||
) |
This service enables the sending of commands to the TPM2.
[in] | InputParameterBlockSize | Size of the TPM2 input parameter block. |
[in] | InputParameterBlock | Pointer to the TPM2 input parameter block. |
[in,out] | OutputParameterBlockSize | Size of the TPM2 output parameter block. |
[in] | OutputParameterBlock | Pointer to the TPM2 output parameter block. |
EFI_SUCCESS | The command byte stream was successfully sent to the device and a response was successfully received. | |
EFI_DEVICE_ERROR | The command was not successfully sent to the device or a response was not successfully received from the device. | |
EFI_BUFFER_TOO_SMALL | The output parameter block is too small. |
References DTpm2SubmitCommand(), EFI_STATUS(), InternalGetTpm2DeviceInterface(), mTcg2Protocol, mTreeProtocol, and TPM2_DEVICE_INTERFACE::Tpm2SubmitCommand.
Referenced by Tcg2SubmitCommand(), Tpm2ChangeEPS(), Tpm2ChangePPS(), Tpm2Clear(), Tpm2ClearControl(), Tpm2DictionaryAttackLockReset(), Tpm2DictionaryAttackParameters(), Tpm2EventSequenceComplete(), Tpm2FlushContext(), Tpm2GetCapability(), Tpm2HashSequenceStart(), Tpm2HierarchyChangeAuth(), Tpm2HierarchyControl(), Tpm2NvDefineSpace(), Tpm2NvGlobalWriteLock(), Tpm2NvRead(), Tpm2NvReadLock(), Tpm2NvReadPublic(), Tpm2NvUndefineSpace(), Tpm2NvWrite(), Tpm2NvWriteLock(), Tpm2PcrAllocate(), Tpm2PcrEvent(), Tpm2PcrExtend(), Tpm2PcrRead(), Tpm2PolicyCommandCode(), Tpm2PolicyGetDigest(), Tpm2PolicyOR(), Tpm2PolicySecret(), Tpm2SelfTest(), Tpm2SequenceComplete(), Tpm2SequenceUpdate(), Tpm2SetAlgorithmSet(), Tpm2SetPrimaryPolicy(), Tpm2Shutdown(), Tpm2StartAuthSession(), Tpm2Startup(), Tpm2TestParms(), and TreeSubmitCommand().