This commit adds the VarCheckPolicyLib that will be able to execute in the context of standalone MM. Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org> Co-authored-by: Kun Qin <kun.q@outlook.com> Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao A Wu <hao.a.wu@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Cc: Bret Barkelew <Bret.Barkelew@microsoft.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
		
			
				
	
	
		
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /** @file -- VarCheckPolicyLib.h
 | |
| This internal header file defines the common interface of constructor for
 | |
| VarCheckPolicyLib.
 | |
| 
 | |
| Copyright (c) Microsoft Corporation. All rights reserved.
 | |
| SPDX-License-Identifier: BSD-2-Clause-Patent
 | |
| 
 | |
| **/
 | |
| 
 | |
| #ifndef _VAR_CHECK_POLICY_LIB_H_
 | |
| #define _VAR_CHECK_POLICY_LIB_H_
 | |
| 
 | |
| /**
 | |
|   Common constructor function of VarCheckPolicyLib to register VarCheck handler
 | |
|   and SW MMI handlers.
 | |
| 
 | |
|   @retval EFI_SUCCESS       The constructor executed correctly.
 | |
| 
 | |
| **/
 | |
| EFI_STATUS
 | |
| EFIAPI
 | |
| VarCheckPolicyLibCommonConstructor (
 | |
|   VOID
 | |
|   );
 | |
| 
 | |
| /**
 | |
|   This function is wrapper function to validate the buffer.
 | |
| 
 | |
|   @param Buffer  The buffer start address to be checked.
 | |
|   @param Length  The buffer length to be checked.
 | |
| 
 | |
|   @retval TRUE  This buffer is valid per processor architecture and not overlap with SMRAM/MMRAM.
 | |
|   @retval FALSE This buffer is not valid per processor architecture or overlap with SMRAM/MMRAM.
 | |
| **/
 | |
| BOOLEAN
 | |
| EFIAPI
 | |
| VarCheckPolicyIsBufferOutsideValid (
 | |
|   IN EFI_PHYSICAL_ADDRESS  Buffer,
 | |
|   IN UINT64                Length
 | |
|   );
 | |
| 
 | |
| #endif // _VAR_CHECK_POLICY_LIB_H_
 |