mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-12-01 12:53:27 +01:00
92 lines
2.2 KiB
C
92 lines
2.2 KiB
C
|
/** @file
|
||
|
TdxHelper Functions which are used in PEI phase
|
||
|
|
||
|
Copyright (c) 2022 - 2023, Intel Corporation. All rights reserved.<BR>
|
||
|
|
||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
|
||
|
**/
|
||
|
|
||
|
#include <Base.h>
|
||
|
#include <PiPei.h>
|
||
|
|
||
|
/**
|
||
|
Build the GuidHob for tdx measurements which were done in SEC phase.
|
||
|
The measurement values are stored in WorkArea.
|
||
|
|
||
|
@retval EFI_SUCCESS The GuidHob is built successfully
|
||
|
@retval Others Other errors as indicated
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
InternalBuildGuidHobForTdxMeasurement (
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
/**
|
||
|
In Tdx guest, some information need to be passed from host VMM to guest
|
||
|
firmware. For example, the memory resource, etc. These information are
|
||
|
prepared by host VMM and put in TdHob which is described in TdxMetadata.
|
||
|
TDVF processes the TdHob to accept memories.
|
||
|
|
||
|
@retval EFI_SUCCESS Successfully process the TdHob
|
||
|
@retval Others Other error as indicated
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
TdxHelperProcessTdHob (
|
||
|
VOID
|
||
|
)
|
||
|
{
|
||
|
return EFI_UNSUPPORTED;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
In Tdx guest, TdHob is passed from host VMM to guest firmware and it contains
|
||
|
the information of the memory resource. From the security perspective before
|
||
|
it is consumed, it should be measured and extended.
|
||
|
*
|
||
|
* @retval EFI_SUCCESS Successfully measure the TdHob
|
||
|
* @retval Others Other error as indicated
|
||
|
*/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
TdxHelperMeasureTdHob (
|
||
|
VOID
|
||
|
)
|
||
|
{
|
||
|
return EFI_UNSUPPORTED;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* In Tdx guest, Configuration FV (CFV) is treated as external input because it
|
||
|
* may contain the data provided by VMM. From the sucurity perspective Cfv image
|
||
|
* should be measured before it is consumed.
|
||
|
*
|
||
|
* @retval EFI_SUCCESS Successfully measure the CFV image
|
||
|
* @retval Others Other error as indicated
|
||
|
*/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
TdxHelperMeasureCfvImage (
|
||
|
VOID
|
||
|
)
|
||
|
{
|
||
|
return EFI_UNSUPPORTED;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
Build the GuidHob for tdx measurements which were done in SEC phase.
|
||
|
The measurement values are stored in WorkArea.
|
||
|
|
||
|
@retval EFI_SUCCESS The GuidHob is built successfully
|
||
|
@retval Others Other errors as indicated
|
||
|
**/
|
||
|
EFI_STATUS
|
||
|
EFIAPI
|
||
|
TdxHelperBuildGuidHobForTdxMeasurement (
|
||
|
VOID
|
||
|
)
|
||
|
{
|
||
|
return InternalBuildGuidHobForTdxMeasurement ();
|
||
|
}
|