TianoCore EDK2 master
|
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/HobLib.h>
#include <Library/DebugLib.h>
#include <Library/PcdLib.h>
#include <Library/Tpm2DeviceLib.h>
Go to the source code of this file.
Functions | |
TPM2_DEVICE_INTERFACE * | InternalGetTpm2DeviceInterface (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 |
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.
TPM2_DEVICE_INTERFACE * InternalGetTpm2DeviceInterface | ( | VOID | ) |
This function get TPM2.0 interface.
TPM2.0 | interface. |
Definition at line 28 of file Tpm2DeviceLibRouterPei.c.
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. |
Definition at line 112 of file Tpm2DeviceLibRouterPei.c.
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. |
Definition at line 87 of file Tpm2DeviceLibRouterPei.c.
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. |
Definition at line 56 of file Tpm2DeviceLibRouterPei.c.
EFI_GUID mInternalTpm2DeviceInterfaceGuid |
Definition at line 18 of file Tpm2DeviceLibRouterPei.c.