blob: d7dd92481a6f689d13e7ac8ed344f0b725e4321f [file] [log] [blame]
/** @file
Endoresment Seed generation part of PlatformTpmLib to use TpmLib.
To see the plat_XXX interface in TPM reference library, see:
- https://github.com/TrustedComputingGroup/TPM/tree/main/TPMCmd/Platform/src
Copyright (c) 2025, Arm Limited. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <Library/BaseLib.h>
#include <Library/BaseMemoryLib.h>
#include <Library/PlatformTpmLib.h>
/**
_plat__GetPlatformManufactureData
This function allows the platform to provide a small amount of data to be
stored as part of the TPM's PERSISTENT_DATA structure during manufacture.
Of course the platform can store data separately as well,
but this allows a simple platform implementation to store
a few bytes of data without implementing a multi-layer storage system.
This function is called on manufacture and CLEAR.
The buffer will contain the last value provided
to the Core library.
@param[out] PlatformPersistentData Platform data.
@param[in] Size Size of PlatformPersistentData.
**/
VOID
EFIAPI
PlatformTpmLibGetPlatformManufactureData (
UINT8 *PlatformPersistentData,
UINT32 Size
)
{
/*
* Using TCG Tpm library's implementation.
* See TPMCmd/Platform/src/ExtraData.c
*/
if ((PlatformPersistentData != NULL) && (Size != 0)) {
SetMem (PlatformPersistentData, Size, 0xFF);
}
}