Ken: I add my comment below. Besides, some modules in MdeModulePkg still consumes VariableLock, such as UefiBootManagerLib, PcdDxe. Have you plan to fix them also?
> -----邮件原件----- > 发件人: kenlautn...@gmail.com <kenlautn...@gmail.com> > 发送时间: 2021年6月10日 7:39 > 收件人: devel@edk2.groups.io > 抄送: Jian J Wang <jian.j.w...@intel.com>; Hao A Wu > <hao.a...@intel.com>; Zhichao Gao <zhichao....@intel.com>; Ray Ni > <ray...@intel.com>; Liming Gao <gaolim...@byosoft.com.cn> > 主题: [PATCH v1 1/1] MdeModulePkg/BdsDxe: Update BdsEntry to use > Variable Policy > > From: Ken Lautner <klaut...@microsoft.com> Please add BZ link here. https://bugzilla.tianocore.org/show_bug.cgi?id=3421 > > Changed BdsEntry.c to use Variable Policy instead of Variable Lock > as Variable Lock will be Deprecated eventually > > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Hao A Wu <hao.a...@intel.com> > Cc: Zhichao Gao <zhichao....@intel.com> > Cc: Ray Ni <ray...@intel.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Signed-off-by: Kenneth Lautner <kenlautn...@gmail.com> > --- > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 4 +++- > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 20 +++++++++++++++----- > 2 files changed, 18 insertions(+), 6 deletions(-) > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > index 9310b4dccb18..76ff6a0f5fc3 100644 > --- a/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > +++ b/MdeModulePkg/Universal/BdsDxe/BdsDxe.inf > @@ -50,6 +50,8 @@ > BaseMemoryLib > > DebugLib > > UefiBootManagerLib > > + VariablePolicyLib > > + VariablePolicyHelperLib > > PlatformBootManagerLib > > PcdLib > > PrintLib > > @@ -77,7 +79,7 @@ > [Protocols] > > gEfiBdsArchProtocolGuid ## PRODUCES > > gEfiSimpleTextInputExProtocolGuid ## CONSUMES > > - gEdkiiVariableLockProtocolGuid ## > SOMETIMES_CONSUMES > > + gEdkiiVariablePolicyProtocolGuid ## > SOMETIMES_CONSUMES > > gEfiDeferredImageLoadProtocolGuid ## CONSUMES > > > > [FeaturePcd] > > diff --git a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > index 83b773a2fa5f..13723bee299b 100644 > --- a/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > +++ b/MdeModulePkg/Universal/BdsDxe/BdsEntry.c > @@ -15,6 +15,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent > #include "Bds.h" > > #include "Language.h" > > #include "HwErrRecSupport.h" > > +#include "library/VariablePolicyHelperLib.h" > Use the correct directory name to pass Windows VS tool chain and Linux GCC tool chain. With this change, Reviewed-by: Liming Gao <gaolim...@byosoft.com.cn> Thanks Liming > > > #define SET_BOOT_OPTION_SUPPORT_KEY_COUNT(a, c) { \ > > (a) = ((a) & ~EFI_BOOT_OPTION_SUPPORT_COUNT) | (((c) << > LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT)) & > EFI_BOOT_OPTION_SUPPORT_COUNT); \ > > @@ -670,7 +671,7 @@ BdsEntry ( > EFI_STATUS Status; > > UINT32 BootOptionSupport; > > UINT16 BootTimeOut; > > - EDKII_VARIABLE_LOCK_PROTOCOL *VariableLock; > > + EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy; > > UINTN Index; > > EFI_BOOT_MANAGER_LOAD_OPTION LoadOption; > > UINT16 *BootNext; > > @@ -716,12 +717,21 @@ BdsEntry ( > // > > // Mark the read-only variables if the Variable Lock protocol exists > > // > > - Status = gBS->LocateProtocol (&gEdkiiVariableLockProtocolGuid, NULL, > (VOID **) &VariableLock); > > - DEBUG ((EFI_D_INFO, "[BdsDxe] Locate Variable Lock protocol - %r\n", > Status)); > > + Status = gBS->LocateProtocol(&gEdkiiVariablePolicyProtocolGuid, NULL, > (VOID**)&VariablePolicy); > > + DEBUG((DEBUG_INFO, "[BdsDxe] Locate Variable Policy protocol - %r\n", > Status)); > > if (!EFI_ERROR (Status)) { > > for (Index = 0; Index < ARRAY_SIZE (mReadOnlyVariables); Index++) { > > - Status = VariableLock->RequestToLock (VariableLock, > mReadOnlyVariables[Index], &gEfiGlobalVariableGuid); > > - ASSERT_EFI_ERROR (Status); > > + Status = RegisterBasicVariablePolicy( > > + VariablePolicy, > > + &gEfiGlobalVariableGuid, > > + mReadOnlyVariables[Index], > > + VARIABLE_POLICY_NO_MIN_SIZE, > > + VARIABLE_POLICY_NO_MAX_SIZE, > > + VARIABLE_POLICY_NO_MUST_ATTR, > > + VARIABLE_POLICY_NO_CANT_ATTR, > > + VARIABLE_POLICY_TYPE_LOCK_NOW > > + ); > > + ASSERT_EFI_ERROR(Status); > > } > > } > > > > -- > 2.25.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#76290): https://edk2.groups.io/g/devel/message/76290 Mute This Topic: https://groups.io/mt/83435043/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-