TianoCore EDK2 master
|
#include <PiPei.h>
#include <Uefi.h>
#include <Library/BaseMemoryLib.h>
#include <Library/PeiServicesLib.h>
#include <Library/PeiServicesTablePointerLib.h>
#include <Library/PcdLib.h>
#include <Library/PrintLib.h>
#include <Library/DebugLib.h>
#include <Library/FspWrapperApiLib.h>
#include <Library/TpmMeasurementLib.h>
#include <Library/FspMeasurementLib.h>
#include <Library/TcgEventLogRecordLib.h>
#include <Library/HashLib.h>
#include <Ppi/Tcg.h>
#include <IndustryStandard/UefiTcgPlatform.h>
Go to the source code of this file.
Functions | |
EFI_STATUS EFIAPI | TpmMeasureAndLogDataWithFlags (IN UINT32 PcrIndex, IN UINT32 EventType, IN VOID *EventLog, IN UINT32 LogLen, IN VOID *HashData, IN UINT64 HashDataLen, IN UINT64 Flags) |
STATIC EFI_STATUS EFIAPI | MeasureFspFirmwareBlobWithCfg (IN CHAR8 *Description OPTIONAL, IN EFI_PHYSICAL_ADDRESS FirmwareBlobBase, IN UINT64 FirmwareBlobLength, IN UINT32 CfgRegionOffset, IN UINT32 CfgRegionSize) |
EFI_STATUS EFIAPI | MeasureFspFirmwareBlob (IN UINT32 PcrIndex, IN CHAR8 *Description OPTIONAL, IN EFI_PHYSICAL_ADDRESS FirmwareBlobBase, IN UINT64 FirmwareBlobLength) |
This library is used by FSP modules to measure data to TPM.
Copyright (c) 2020, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file FspMeasurementLib.c.
EFI_STATUS EFIAPI MeasureFspFirmwareBlob | ( | IN UINT32 | PcrIndex, |
IN CHAR8 *Description | OPTIONAL, | ||
IN EFI_PHYSICAL_ADDRESS | FirmwareBlobBase, | ||
IN UINT64 | FirmwareBlobLength | ||
) |
Measure a FSP FirmwareBlob.
[in] | PcrIndex | PCR Index. |
[in] | Description | Description for this FirmwareBlob. |
[in] | FirmwareBlobBase | Base address of this FirmwareBlob. |
[in] | FirmwareBlobLength | Size in bytes of this FirmwareBlob. |
EFI_SUCCESS | Operation completed successfully. |
EFI_UNSUPPORTED | TPM device not available. |
EFI_OUT_OF_RESOURCES | Out of memory. |
EFI_DEVICE_ERROR | The operation was unsuccessful. |
Definition at line 232 of file FspMeasurementLib.c.
STATIC EFI_STATUS EFIAPI MeasureFspFirmwareBlobWithCfg | ( | IN CHAR8 *Description | OPTIONAL, |
IN EFI_PHYSICAL_ADDRESS | FirmwareBlobBase, | ||
IN UINT64 | FirmwareBlobLength, | ||
IN UINT32 | CfgRegionOffset, | ||
IN UINT32 | CfgRegionSize | ||
) |
Measure a FSP FirmwareBlob.
[in] | Description | Description for this FirmwareBlob. |
[in] | FirmwareBlobBase | Base address of this FirmwareBlob. |
[in] | FirmwareBlobLength | Size in bytes of this FirmwareBlob. |
[in] | CfgRegionOffset | Configuration region offset in bytes. |
[in] | CfgRegionSize | Configuration region in bytes. |
EFI_SUCCESS | Operation completed successfully. |
EFI_UNSUPPORTED | TPM device not available. |
EFI_OUT_OF_RESOURCES | Out of memory. |
EFI_DEVICE_ERROR | The operation was unsuccessful. |
Initialize a SHA hash context.
Hash FSP binary before UDP
Hash FSP binary after UDP
Finalize the SHA hash.
Definition at line 101 of file FspMeasurementLib.c.
EFI_STATUS EFIAPI TpmMeasureAndLogDataWithFlags | ( | IN UINT32 | PcrIndex, |
IN UINT32 | EventType, | ||
IN VOID * | EventLog, | ||
IN UINT32 | LogLen, | ||
IN VOID * | HashData, | ||
IN UINT64 | HashDataLen, | ||
IN UINT64 | Flags | ||
) |
Tpm measure and log data, and extend the measurement result into a specific PCR.
[in] | PcrIndex | PCR Index. |
[in] | EventType | Event type. |
[in] | EventLog | Measurement event log. |
[in] | LogLen | Event log length in bytes. |
[in] | HashData | The start of the data buffer to be hashed, extended. |
[in] | HashDataLen | The length, in bytes, of the buffer referenced by HashData |
[in] | Flags | Bitmap providing additional information. |
EFI_SUCCESS | Operation completed successfully. |
EFI_UNSUPPORTED | TPM device not available. |
EFI_OUT_OF_RESOURCES | Out of memory. |
EFI_DEVICE_ERROR | The operation was unsuccessful. |
Definition at line 45 of file FspMeasurementLib.c.