BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4243 TdxHelperLib provides below helper functions for a td-guest. - TdxHelperProcessTdHob - TdxHelperMeasureTdHob - TdxHelperMeasureCfvImage - TdxHelperBuildGuidHobForTdxMeasurement TdxHelperLibNull is the NULL instance of TdxHelperLib. Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Michael Roth <michael.roth@amd.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Min Xu <min.m.xu@intel.com>
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
  NULL instance of TdxHelperLib
 | 
						|
 | 
						|
  Copyright (c) 2022 - 2023, Intel Corporation. All rights reserved.<BR>
 | 
						|
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#include <Base.h>
 | 
						|
#include <PiPei.h>
 | 
						|
 | 
						|
/**
 | 
						|
  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 EFI_UNSUPPORTED;
 | 
						|
}
 |