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

Go to the source code of this file.

Functions

TPM2_DEVICE_INTERFACEInternalGetTpm2DeviceInterface (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)
 

Variables

EFI_GUID mInternalTpm2DeviceInterfaceGuid
 

Detailed Description

This library is TPM2 device router. Platform can register multi TPM2 instance to it via PcdTpmInstanceGuid. Platform need make choice that which one will be final one. At most one TPM2 instance can be finally registered, and other will return unsupported.

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

Definition in file Tpm2DeviceLibRouterPei.c.

Function Documentation

◆ InternalGetTpm2DeviceInterface()

TPM2_DEVICE_INTERFACE * InternalGetTpm2DeviceInterface ( VOID  )

This function get TPM2.0 interface.

Return values
TPM2.0interface.

Definition at line 28 of file Tpm2DeviceLibRouterPei.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 112 of file Tpm2DeviceLibRouterPei.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 87 of file Tpm2DeviceLibRouterPei.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 56 of file Tpm2DeviceLibRouterPei.c.

Variable Documentation

◆ mInternalTpm2DeviceInterfaceGuid

EFI_GUID mInternalTpm2DeviceInterfaceGuid
Initial value:
= {
0x349cf818, 0xc0ba, 0x4c43, { 0x92, 0x9a, 0xc8, 0xa1, 0xb1, 0xb3, 0xd2, 0x55 }
}

Definition at line 18 of file Tpm2DeviceLibRouterPei.c.