\r
#include "InternalBm.h"\r
\r
+#include <Library/VariablePolicyHelperLib.h>\r
+\r
GLOBAL_REMOVE_IF_UNREFERENCED\r
CHAR16 *mBmLoadOptionName[] = {\r
L"Driver",\r
IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Option\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN VariableSize;\r
- UINT8 *Variable;\r
- UINT8 *Ptr;\r
- CHAR16 OptionName[BM_OPTION_NAME_LEN];\r
- CHAR16 *Description;\r
- CHAR16 NullChar;\r
- EDKII_VARIABLE_LOCK_PROTOCOL *VariableLock;\r
- UINT32 VariableAttributes;\r
+ EFI_STATUS Status;\r
+ UINTN VariableSize;\r
+ UINT8 *Variable;\r
+ UINT8 *Ptr;\r
+ CHAR16 OptionName[BM_OPTION_NAME_LEN];\r
+ CHAR16 *Description;\r
+ CHAR16 NullChar;\r
+ EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy;\r
+ UINT32 VariableAttributes;\r
\r
if ((Option->OptionNumber == LoadOptionNumberUnassigned) ||\r
(Option->FilePath == NULL) ||\r
//\r
// Lock the PlatformRecovery####\r
//\r
- Status = gBS->LocateProtocol (&gEdkiiVariableLockProtocolGuid, NULL, (VOID **)&VariableLock);\r
+ Status = gBS->LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID **)&VariablePolicy);\r
if (!EFI_ERROR (Status)) {\r
- Status = VariableLock->RequestToLock (VariableLock, OptionName, &gEfiGlobalVariableGuid);\r
+ Status = RegisterBasicVariablePolicy (\r
+ VariablePolicy,\r
+ &gEfiGlobalVariableGuid,\r
+ OptionName,\r
+ VARIABLE_POLICY_NO_MIN_SIZE,\r
+ VARIABLE_POLICY_NO_MAX_SIZE,\r
+ VARIABLE_POLICY_NO_MUST_ATTR,\r
+ VARIABLE_POLICY_NO_CANT_ATTR,\r
+ VARIABLE_POLICY_TYPE_LOCK_NOW\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
}\r
\r
#include <Protocol/BootLogo.h>\r
#include <Protocol/DriverHealth.h>\r
#include <Protocol/FormBrowser2.h>\r
-#include <Protocol/VariableLock.h>\r
#include <Protocol/RamDisk.h>\r
#include <Protocol/DeferredImageLoad.h>\r
#include <Protocol/PlatformBootManager.h>\r
PerformanceLib\r
HiiLib\r
SortLib\r
+ VariablePolicyHelperLib\r
\r
[Guids]\r
## SOMETIMES_CONSUMES ## SystemTable (The identifier of memory type information type in system table)\r
gEfiDevicePathProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiBootLogoProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiSimpleTextInputExProtocolGuid ## SOMETIMES_CONSUMES\r
- gEdkiiVariableLockProtocolGuid ## SOMETIMES_CONSUMES\r
+ gEdkiiVariablePolicyProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiGraphicsOutputProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiUsbIoProtocolGuid ## SOMETIMES_CONSUMES\r
gEfiNvmExpressPassThruProtocolGuid ## SOMETIMES_CONSUMES\r