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

Go to the source code of this file.

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)
 

Variables

TPM2_DEVICE_INTERFACE mInternalTpm2DeviceInterface
 

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 Tpm2DeviceLibRouterDxe.c.

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 83 of file Tpm2DeviceLibRouterDxe.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 61 of file Tpm2DeviceLibRouterDxe.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 33 of file Tpm2DeviceLibRouterDxe.c.

Variable Documentation

◆ mInternalTpm2DeviceInterface

TPM2_DEVICE_INTERFACE mInternalTpm2DeviceInterface

Definition at line 17 of file Tpm2DeviceLibRouterDxe.c.