BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3902 This is the OvmfPkg specific CcProbeLib. It checks the Ovmf WorkArea (PcdOvmfWorkAreaBase) to return the guest type. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: James Bottomley <James.Bottomley@HansenPartnership.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: Min Xu <min.m.xu@intel.com>
		
			
				
	
	
		
			32 lines
		
	
	
		
			657 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			657 B
		
	
	
	
		
			C
		
	
	
	
	
	
/** @file
 | 
						|
 | 
						|
  CcProbeLib is used to probe the Confidential computing guest type.
 | 
						|
 | 
						|
  Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
 | 
						|
  SPDX-License-Identifier: BSD-2-Clause-Patent
 | 
						|
 | 
						|
**/
 | 
						|
 | 
						|
#include <Library/CcProbeLib.h>
 | 
						|
#include <WorkArea.h>
 | 
						|
 | 
						|
/**
 | 
						|
  Probe the ConfidentialComputing Guest type. See defition of
 | 
						|
  CC_GUEST_TYPE in <ConfidentialComputingGuestAttr.h>.
 | 
						|
 | 
						|
  @return The guest type
 | 
						|
 | 
						|
**/
 | 
						|
UINT8
 | 
						|
EFIAPI
 | 
						|
CcProbe (
 | 
						|
  VOID
 | 
						|
  )
 | 
						|
{
 | 
						|
  OVMF_WORK_AREA  *WorkArea;
 | 
						|
 | 
						|
  WorkArea = (OVMF_WORK_AREA *)FixedPcdGet32 (PcdOvmfWorkAreaBase);
 | 
						|
 | 
						|
  return WorkArea != NULL ? WorkArea->Header.GuestType : CcGuestTypeNonEncrypted;
 | 
						|
}
 |