#include "Bds.h"\r
#include "Language.h"\r
#include "HwErrRecSupport.h"\r
+#include <Library/VariablePolicyHelperLib.h>\r
\r
#define SET_BOOT_OPTION_SUPPORT_KEY_COUNT(a, c) { \\r
(a) = ((a) & ~EFI_BOOT_OPTION_SUPPORT_COUNT) | (((c) << LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT)) & EFI_BOOT_OPTION_SUPPORT_COUNT); \\r
EFI_STATUS Status;\r
UINT32 BootOptionSupport;\r
UINT16 BootTimeOut;\r
- EDKII_VARIABLE_LOCK_PROTOCOL *VariableLock;\r
+ EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy;\r
UINTN Index;\r
EFI_BOOT_MANAGER_LOAD_OPTION LoadOption;\r
UINT16 *BootNext;\r
//\r
// Mark the read-only variables if the Variable Lock protocol exists\r
//\r
- Status = gBS->LocateProtocol (&gEdkiiVariableLockProtocolGuid, NULL, (VOID **) &VariableLock);\r
- DEBUG ((EFI_D_INFO, "[BdsDxe] Locate Variable Lock protocol - %r\n", Status));\r
+ Status = gBS->LocateProtocol(&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID**)&VariablePolicy);\r
+ DEBUG((DEBUG_INFO, "[BdsDxe] Locate Variable Policy protocol - %r\n", Status));\r
if (!EFI_ERROR (Status)) {\r
for (Index = 0; Index < ARRAY_SIZE (mReadOnlyVariables); Index++) {\r
- Status = VariableLock->RequestToLock (VariableLock, mReadOnlyVariables[Index], &gEfiGlobalVariableGuid);\r
- ASSERT_EFI_ERROR (Status);\r
+ Status = RegisterBasicVariablePolicy(\r
+ VariablePolicy,\r
+ &gEfiGlobalVariableGuid,\r
+ mReadOnlyVariables[Index],\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
\r