TianoCore EDK2 master
Loading...
Searching...
No Matches
Tpm2DeviceLibDTpm.c File Reference

Go to the source code of this file.

Functions

EFI_STATUS EFIAPI DTpm2SubmitCommand (IN UINT32 InputParameterBlockSize, IN UINT8 *InputParameterBlock, IN OUT UINT32 *OutputParameterBlockSize, IN UINT8 *OutputParameterBlock)
 
EFI_STATUS EFIAPI DTpm2RequestUseTpm (VOID)
 
EFI_STATUS EFIAPI Tpm2SubmitCommand (IN UINT32 InputParameterBlockSize, IN UINT8 *InputParameterBlock, IN OUT UINT32 *OutputParameterBlockSize, IN UINT8 *OutputParameterBlock)
 
EFI_STATUS EFIAPI Tpm2RequestUseTpm (VOID)
 
EFI_STATUS EFIAPI Tpm2RegisterTpm2DeviceLib (IN TPM2_DEVICE_INTERFACE *Tpm2Device)
 
EFI_STATUS EFIAPI Tpm2DeviceLibConstructor (VOID)
 

Detailed Description

This library is TPM2 DTPM device lib. Choosing this library means platform uses and only uses DTPM device as TPM2 engine.

Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent

Definition in file Tpm2DeviceLibDTpm.c.

Function Documentation

◆ DTpm2RequestUseTpm()

EFI_STATUS EFIAPI DTpm2RequestUseTpm ( VOID  )

This service requests use TPM2.

Return values
EFI_SUCCESSGet the control of TPM2 chip.
EFI_NOT_FOUNDTPM2 not found.
EFI_DEVICE_ERRORUnexpected device behavior.

Definition at line 633 of file Tpm2Ptp.c.

◆ DTpm2SubmitCommand()

EFI_STATUS EFIAPI DTpm2SubmitCommand ( IN UINT32  InputParameterBlockSize,
IN UINT8 *  InputParameterBlock,
IN OUT UINT32 *  OutputParameterBlockSize,
IN UINT8 *  OutputParameterBlock 
)

This service enables the sending of commands to the TPM2.

Parameters
[in]InputParameterBlockSizeSize of the TPM2 input parameter block.
[in]InputParameterBlockPointer to the TPM2 input parameter block.
[in,out]OutputParameterBlockSizeSize of the TPM2 output parameter block.
[in]OutputParameterBlockPointer to the TPM2 output parameter block.
Return values
EFI_SUCCESSThe command byte stream was successfully sent to the device and a response was successfully received.
EFI_DEVICE_ERRORThe command was not successfully sent to the device or a response was not successfully received from the device.
EFI_BUFFER_TOO_SMALLThe output parameter block is too small.

Definition at line 591 of file Tpm2Ptp.c.

◆ Tpm2DeviceLibConstructor()

EFI_STATUS EFIAPI Tpm2DeviceLibConstructor ( VOID  )

The function caches current active TPM interface type.

Return values
EFI_SUCCESSDTPM2.0 instance is registered, or system does not support register DTPM2.0 instance

Definition at line 122 of file Tpm2DeviceLibDTpm.c.

◆ Tpm2RegisterTpm2DeviceLib()

EFI_STATUS EFIAPI Tpm2RegisterTpm2DeviceLib ( IN TPM2_DEVICE_INTERFACE Tpm2Device)

This service register TPM2 device.

Parameters
Tpm2DeviceTPM2 device
Return values
EFI_SUCCESSThis TPM2 device is registered successfully.
EFI_UNSUPPORTEDSystem does not support register this TPM2 device.
EFI_ALREADY_STARTEDSystem already register this TPM2 device.

Definition at line 108 of file Tpm2DeviceLibDTpm.c.

◆ Tpm2RequestUseTpm()

EFI_STATUS EFIAPI Tpm2RequestUseTpm ( VOID  )

This service requests use TPM2.

Return values
EFI_SUCCESSGet the control of TPM2 chip.
EFI_NOT_FOUNDTPM2 not found.
EFI_DEVICE_ERRORUnexpected device behavior.

Definition at line 90 of file Tpm2DeviceLibDTpm.c.

◆ Tpm2SubmitCommand()

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.

Parameters
[in]InputParameterBlockSizeSize of the TPM2 input parameter block.
[in]InputParameterBlockPointer to the TPM2 input parameter block.
[in,out]OutputParameterBlockSizeSize of the TPM2 output parameter block.
[in]OutputParameterBlockPointer to the TPM2 output parameter block.
Return values
EFI_SUCCESSThe command byte stream was successfully sent to the device and a response was successfully received.
EFI_DEVICE_ERRORThe command was not successfully sent to the device or a response was not successfully received from the device.
EFI_BUFFER_TOO_SMALLThe output parameter block is too small.

Definition at line 66 of file Tpm2DeviceLibDTpm.c.