RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429 VmgExitLib performs the necessary processing to handle a #VC exception. VmgExitLibNull is a NULL instance of VmgExitLib which provides a default limited interface. In this commit VmgExitLibNull is extended to handle a #VE exception with a default limited interface. A full feature version of #VE handler will be created later. Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Reviewed-by: Ray Ni <ray.ni@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Min Xu <min.m.xu@intel.com>
		
			
				
	
	
		
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file
 | |
| 
 | |
|   Copyright (c) 2021, Intel Corporation. All rights reserved.<BR>
 | |
| 
 | |
|   SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| #include <Base.h>
 | |
| #include <Uefi.h>
 | |
| #include <Library/VmgExitLib.h>
 | |
| 
 | |
| /**
 | |
|   Handle a #VE exception.
 | |
| 
 | |
|   Performs the necessary processing to handle a #VE exception.
 | |
| 
 | |
|   @param[in, out]  ExceptionType  Pointer to an EFI_EXCEPTION_TYPE to be set
 | |
|                                   as value to use on error.
 | |
|   @param[in, out]  SystemContext  Pointer to EFI_SYSTEM_CONTEXT
 | |
| 
 | |
|   @retval  EFI_SUCCESS            Exception handled
 | |
|   @retval  EFI_UNSUPPORTED        #VE not supported, (new) exception value to
 | |
|                                   propagate provided
 | |
|   @retval  EFI_PROTOCOL_ERROR     #VE handling failed, (new) exception value to
 | |
|                                   propagate provided
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VmTdExitHandleVe (
 | |
|   IN OUT EFI_EXCEPTION_TYPE  *ExceptionType,
 | |
|   IN OUT EFI_SYSTEM_CONTEXT  SystemContext
 | |
|   )
 | |
| {
 | |
|   *ExceptionType = VE_EXCEPTION;
 | |
| 
 | |
|   return EFI_UNSUPPORTED;
 | |
| }
 |