MdeModulePkg/VarCheckPolicyLib: implement standalone MM version
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>
This commit is contained in:
committed by
mergify[bot]
parent
d15d0d3d8a
commit
e2747dbb5a
@@ -0,0 +1,50 @@
|
||||
/** @file -- VarCheckPolicyLibTraditional.c
|
||||
This is an instance of a VarCheck lib constructor for traditional SMM.
|
||||
|
||||
Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
**/
|
||||
|
||||
#include <Library/SmmMemLib.h>
|
||||
|
||||
#include "VarCheckPolicyLib.h"
|
||||
|
||||
/**
|
||||
Traditional constructor function of VarCheckPolicyLib to invoke common
|
||||
constructor routine.
|
||||
|
||||
@param[in] ImageHandle The firmware allocated handle for the EFI image.
|
||||
@param[in] SystemTable A pointer to the EFI System Table.
|
||||
|
||||
@retval EFI_SUCCESS The constructor executed correctly.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
VarCheckPolicyLibTraditionalConstructor (
|
||||
IN EFI_HANDLE ImageHandle,
|
||||
IN EFI_SYSTEM_TABLE *SystemTable
|
||||
)
|
||||
{
|
||||
return VarCheckPolicyLibCommonConstructor ();
|
||||
}
|
||||
|
||||
/**
|
||||
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.
|
||||
@retval FALSE This buffer is not valid per processor architecture or overlap with SMRAM.
|
||||
**/
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
VarCheckPolicyIsBufferOutsideValid (
|
||||
IN EFI_PHYSICAL_ADDRESS Buffer,
|
||||
IN UINT64 Length
|
||||
)
|
||||
{
|
||||
return SmmIsBufferOutsideSmmValid (Buffer, Length);
|
||||
}
|
Reference in New Issue
Block a user