TianoCore EDK2 master
Loading...
Searching...
No Matches
Tpm2DeviceLib.h File Reference
#include <Uefi.h>

Go to the source code of this file.

Data Structures

struct  TPM2_DEVICE_INTERFACE
 

Typedefs

typedef EFI_STATUS(EFIAPI * TPM2_SUBMIT_COMMAND) (IN UINT32 InputParameterBlockSize, IN UINT8 *InputParameterBlock, IN OUT UINT32 *OutputParameterBlockSize, IN UINT8 *OutputParameterBlock)
 
typedef EFI_STATUS(EFIAPI * TPM2_REQUEST_USE_TPM) (VOID)
 

Enumerations

enum  TPM2_PTP_INTERFACE_TYPE { Tpm2PtpInterfaceTis , Tpm2PtpInterfaceFifo , Tpm2PtpInterfaceCrb , Tpm2PtpInterfaceMax }
 

Functions

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)
 

Detailed Description

This library abstract how to access TPM2 hardware device.

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

Definition in file Tpm2DeviceLib.h.

Typedef Documentation

◆ TPM2_REQUEST_USE_TPM

typedef EFI_STATUS(EFIAPI * TPM2_REQUEST_USE_TPM) (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 87 of file Tpm2DeviceLib.h.

◆ TPM2_SUBMIT_COMMAND

typedef EFI_STATUS(EFIAPI * TPM2_SUBMIT_COMMAND) (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 71 of file Tpm2DeviceLib.h.

Enumeration Type Documentation

◆ TPM2_PTP_INTERFACE_TYPE

enum TPM2_PTP_INTERFACE_TYPE

Definition at line 17 of file Tpm2DeviceLib.h.

Function Documentation

◆ 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.