From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by mx.groups.io with SMTP id smtpd.web12.3940.1623286417973410427 for ; Wed, 09 Jun 2021 17:53:38 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: byosoft.com.cn, ip: 58.240.74.242, mailfrom: gaoliming@byosoft.com.cn) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Thu, 10 Jun 2021 08:53:32 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , Cc: "'Jian J Wang'" , "'Hao A Wu'" , "'Zhichao Gao'" , "'Ray Ni'" References: <20210609233845.1392-1-kenlautner3@gmail.com> In-Reply-To: <20210609233845.1392-1-kenlautner3@gmail.com> Subject: =?UTF-8?B?5Zue5aSNOiBbUEFUQ0ggdjEgMS8xXSBNZGVNb2R1bGVQa2cvQmRzRHhlOiBVcGRhdGUgQmRzRW50cnkgdG8gdXNlIFZhcmlhYmxlIFBvbGljeQ==?= Date: Thu, 10 Jun 2021 08:53:33 +0800 Message-ID: <006201d75d93$0a3acb80$1eb06280$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQLChnO83PqMR4ops6OwzARFnJDj7Kk2F3BQ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn 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? > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: kenlautner3@gmail.com > =B7=A2=CB=CD=CA=B1=BC=E4: 2021=C4=EA6=D4=C210=C8=D5 7:39 > =CA=D5=BC=FE=C8=CB: devel@edk2.groups.io > =B3=AD=CB=CD: Jian J Wang ; Hao A Wu > ; Zhichao Gao ; Ray Ni > ; Liming Gao > =D6=F7=CC=E2: [PATCH v1 1/1] MdeModulePkg/BdsDxe: Update BdsEntry to = use > Variable Policy >=20 > From: Ken Lautner Please add BZ link here. = https://bugzilla.tianocore.org/show_bug.cgi?id=3D3421 >=20 > Changed BdsEntry.c to use Variable Policy instead of Variable Lock > as Variable Lock will be Deprecated eventually >=20 > Cc: Jian J Wang > Cc: Hao A Wu > Cc: Zhichao Gao > Cc: Ray Ni > Cc: Liming Gao > Signed-off-by: Kenneth Lautner > --- > MdeModulePkg/Universal/BdsDxe/BdsDxe.inf | 4 +++- > MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 20 +++++++++++++++----- > 2 files changed, 18 insertions(+), 6 deletions(-) >=20 > 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 >=20 > DebugLib >=20 > UefiBootManagerLib >=20 > + VariablePolicyLib >=20 > + VariablePolicyHelperLib >=20 > PlatformBootManagerLib >=20 > PcdLib >=20 > PrintLib >=20 > @@ -77,7 +79,7 @@ > [Protocols] >=20 > gEfiBdsArchProtocolGuid ## PRODUCES >=20 > gEfiSimpleTextInputExProtocolGuid ## CONSUMES >=20 > - gEdkiiVariableLockProtocolGuid ## > SOMETIMES_CONSUMES >=20 > + gEdkiiVariablePolicyProtocolGuid ## > SOMETIMES_CONSUMES >=20 > gEfiDeferredImageLoadProtocolGuid ## CONSUMES >=20 >=20 >=20 > [FeaturePcd] >=20 > 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" >=20 > #include "Language.h" >=20 > #include "HwErrRecSupport.h" >=20 > +#include "library/VariablePolicyHelperLib.h" >=20 Use the correct directory name to pass Windows VS tool chain and Linux = GCC tool chain.=20 With this change, Reviewed-by: Liming Gao Thanks Liming >=20 >=20 > #define SET_BOOT_OPTION_SUPPORT_KEY_COUNT(a, c) { \ >=20 > (a) =3D ((a) & ~EFI_BOOT_OPTION_SUPPORT_COUNT) | (((c) << > LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT)) & > EFI_BOOT_OPTION_SUPPORT_COUNT); \ >=20 > @@ -670,7 +671,7 @@ BdsEntry ( > EFI_STATUS Status; >=20 > UINT32 BootOptionSupport; >=20 > UINT16 BootTimeOut; >=20 > - EDKII_VARIABLE_LOCK_PROTOCOL *VariableLock; >=20 > + EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy; >=20 > UINTN Index; >=20 > EFI_BOOT_MANAGER_LOAD_OPTION LoadOption; >=20 > UINT16 *BootNext; >=20 > @@ -716,12 +717,21 @@ BdsEntry ( > // >=20 > // Mark the read-only variables if the Variable Lock protocol = exists >=20 > // >=20 > - Status =3D gBS->LocateProtocol (&gEdkiiVariableLockProtocolGuid, = NULL, > (VOID **) &VariableLock); >=20 > - DEBUG ((EFI_D_INFO, "[BdsDxe] Locate Variable Lock protocol - = %r\n", > Status)); >=20 > + Status =3D gBS->LocateProtocol(&gEdkiiVariablePolicyProtocolGuid, = NULL, > (VOID**)&VariablePolicy); >=20 > + DEBUG((DEBUG_INFO, "[BdsDxe] Locate Variable Policy protocol - = %r\n", > Status)); >=20 > if (!EFI_ERROR (Status)) { >=20 > for (Index =3D 0; Index < ARRAY_SIZE (mReadOnlyVariables); = Index++) { >=20 > - Status =3D VariableLock->RequestToLock (VariableLock, > mReadOnlyVariables[Index], &gEfiGlobalVariableGuid); >=20 > - ASSERT_EFI_ERROR (Status); >=20 > + Status =3D RegisterBasicVariablePolicy( >=20 > + VariablePolicy, >=20 > + &gEfiGlobalVariableGuid, >=20 > + mReadOnlyVariables[Index], >=20 > + VARIABLE_POLICY_NO_MIN_SIZE, >=20 > + VARIABLE_POLICY_NO_MAX_SIZE, >=20 > + VARIABLE_POLICY_NO_MUST_ATTR, >=20 > + VARIABLE_POLICY_NO_CANT_ATTR, >=20 > + VARIABLE_POLICY_TYPE_LOCK_NOW >=20 > + ); >=20 > + ASSERT_EFI_ERROR(Status); >=20 > } >=20 > } >=20 >=20 >=20 > -- > 2.25.1.windows.1