From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f46.google.com (mail-lf1-f46.google.com [209.85.167.46]) by mx.groups.io with SMTP id smtpd.web09.228.1623360897926034313 for ; Thu, 10 Jun 2021 14:34:58 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20161025 header.b=Z7jV1XP3; spf=pass (domain: gmail.com, ip: 209.85.167.46, mailfrom: kenlautner3@gmail.com) Received: by mail-lf1-f46.google.com with SMTP id bp38so5492622lfb.0 for ; Thu, 10 Jun 2021 14:34:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=5SsKmVoDUOW9cnMqTXlAJOUfwSz2Rk3I1TGlUzkvvAs=; b=Z7jV1XP3aazsx81P6GgX2oNWAGD0Da0pvY+7vhEdymvj9F6vR/41mv/TwacPrIlQOT n9AQURdSaA8uy4YwmtaiL/GdZ3/2SToXl0yvBHeZpiCdhT5OBomBIeMvG3lbtmVyelpj iz/Bm8B88rOo2IYhpMKriwtl+JpXTKSPCcNE5h43hT5s8jVOZ16U/Veoi736EOmaf65h UzN3MRgLg09x+uEjtU+Muh6F1YzfBtw4tneXzl/jz4Y47B5D5lczCwzFqMOSiXq/Rmky VpSv7WeD2aij4LChC+TyTFcEouNdmAXV3/H+9CbiRRbT3mZx63Xj3dk17Nrrn4/I/Nad JSYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=5SsKmVoDUOW9cnMqTXlAJOUfwSz2Rk3I1TGlUzkvvAs=; b=sy6ZJrDDRXAi/SxUxtITTC3Omwy09aVXXpbaqy2797OCDsw1VUvH8rLKvfG7GlfIOh 8ABK/9O1GEvtUazidDBg9pI5J6OiiryFqxtnr4BmhmGg8KJC6He3iuBp/KmMaJi7ckHV 0QqhGp/8Z1bN9397f5EBfpmmlWZlGtCaUnS9H28fHdWyMxtnFFkJQ3h7L6/DNnqYrFmi 7do1W/gTChic/s0Di0ykmqUtVVdzC1YxgdiH/H8QKAqDyAyG+JRsDrbX8z7k3Yllx1R0 dfv3d/ZDcHBDrTLvvKzn1tldV+gnAJWfasGgN6EiA5eKEmXTP75MSUcCossFRl51unub dhrw== X-Gm-Message-State: AOAM533J2toGmOObncP0Nw1Bpz6nigVATHQPbzlFSCc0hZUFIO6EnMVt e4qV1i/Ciud3UyZFx2eT/OFvMkdIT9sItZw8wi2tBWvvJMA= X-Google-Smtp-Source: ABdhPJyx0AhGiFHp5wgJbM7rVrfPb32PAS+qSmTpoTAAlv9O42qOJ0UyNNuxDsDbUIvQFdsO7N1Uad/AIfT0h9n+zdI= X-Received: by 2002:ac2:5cd6:: with SMTP id f22mr541807lfq.73.1623360895752; Thu, 10 Jun 2021 14:34:55 -0700 (PDT) MIME-Version: 1.0 References: <20210609233845.1392-1-kenlautner3@gmail.com> <006201d75d93$0a3acb80$1eb06280$@byosoft.com.cn> In-Reply-To: <006201d75d93$0a3acb80$1eb06280$@byosoft.com.cn> From: kenlautner3@gmail.com Date: Thu, 10 Jun 2021 14:34:44 -0700 Message-ID: Subject: =?UTF-8?B?UmU6IFtlZGsyLWRldmVsXSDlm57lpI06IFtQQVRDSCB2MSAxLzFdIE1kZU1vZHVsZVBrZy9CZHNEeGU6IFVwZGF0ZSBCZHNFbnRyeSB0byB1c2UgVmFyaWFibGUgUG9saWN5?= To: devel@edk2.groups.io, Liming Gao Content-Type: multipart/alternative; boundary="000000000000889d5c05c47029d6" --000000000000889d5c05c47029d6 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Liming, I plan on fixing those modules as well. I created a new Bugzilla here: 34= 49 =E2=80=93 VariablePolicy needs to replace VariableLock. (tianocore.org) . On Wed, Jun 9, 2021 at 5:53 PM gaoliming wrote: > 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? > > > -----=E9=82=AE=E4=BB=B6=E5=8E=9F=E4=BB=B6----- > > =E5=8F=91=E4=BB=B6=E4=BA=BA: kenlautner3@gmail.com > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B46=E6=9C=8810=E6=97= =A5 7:39 > > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io > > =E6=8A=84=E9=80=81: Jian J Wang ; Hao A Wu > > ; Zhichao Gao ; Ray Ni > > ; Liming Gao > > =E4=B8=BB=E9=A2=98: [PATCH v1 1/1] MdeModulePkg/BdsDxe: Update BdsEntr= y to use > > Variable Policy > > > > From: Ken Lautner > > Please add BZ link here. > https://bugzilla.tianocore.org/show_bug.cgi?id=3D3421 > > > > Changed BdsEntry.c to use Variable Policy instead of Variable Lock > > as Variable Lock will be Deprecated eventually > > > > 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(-) > > > > 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 G= CC > tool chain. > > With this change, Reviewed-by: Liming Gao > > Thanks > Liming > > > > > > #define SET_BOOT_OPTION_SUPPORT_KEY_COUNT(a, c) { \ > > > > (a) =3D ((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 exist= s > > > > // > > > > - Status =3D gBS->LocateProtocol (&gEdkiiVariableLockProtocolGuid, NU= LL, > > (VOID **) &VariableLock); > > > > - DEBUG ((EFI_D_INFO, "[BdsDxe] Locate Variable Lock protocol - %r\n"= , > > Status)); > > > > + Status =3D gBS->LocateProtocol(&gEdkiiVariablePolicyProtocolGuid, N= ULL, > > (VOID**)&VariablePolicy); > > > > + DEBUG((DEBUG_INFO, "[BdsDxe] Locate Variable Policy protocol - %r\n= ", > > Status)); > > > > if (!EFI_ERROR (Status)) { > > > > for (Index =3D 0; Index < ARRAY_SIZE (mReadOnlyVariables); Index+= +) { > > > > - Status =3D VariableLock->RequestToLock (VariableLock, > > mReadOnlyVariables[Index], &gEfiGlobalVariableGuid); > > > > - ASSERT_EFI_ERROR (Status); > > > > + Status =3D 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 > > > > > >=20 > > > --000000000000889d5c05c47029d6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Liming,
I plan on fixing those modules as well.=C2=A0 = I created a new Bugzilla here:=C2=A03449 =E2=80=93 VariablePolicy needs to replace V= ariableLock. (tianocore.org).

On Wed, Jun 9, 2021 at 5:53 PM gaoli= ming <gaoliming@byosoft.com.= cn> wrote:
kenlautner3@gmail.com <kenlautner3@gmail.com>
> =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2021=E5=B9=B46=E6=9C=8810=E6=97= = =A5 7:39
> =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io
> =E6=8A=84=E9=80=81: Jian J Wang <jian.j.wang@intel.com>; Hao A Wu
> <hao.a.wu@= intel.com>; Zhichao Gao <zhichao.gao@intel.com>; Ray Ni
> <ray.ni@inte= l.com>; Liming Gao <gaoliming@byosoft.com.cn>
> =E4=B8=BB=E9=A2=98: [PATCH v1 1/1] MdeModulePkg/BdsDxe: Update BdsEnt= ry to use
> Variable Policy
>
> From: Ken Lautner <klautner@microsoft.com>

Please add BZ link here. https://bugzilla.tian= ocore.org/show_bug.cgi?id=3D3421
>
> Changed BdsEntry.c to use Variable Policy instead of Variable Lock > as Variable Lock will be Deprecated eventually
>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Ray Ni <= ray.ni@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Signed-off-by: Kenneth Lautner <kenlautner3@gmail.com>
> ---
>=C2=A0 MdeModulePkg/Universal/BdsDxe/BdsDxe.inf |=C2=A0 4 +++-
>=C2=A0 MdeModulePkg/Universal/BdsDxe/BdsEntry.c | 20 +++++++++++++++--= ---
>=C2=A0 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 @@
>=C2=A0 =C2=A0 BaseMemoryLib
>
>=C2=A0 =C2=A0 DebugLib
>
>=C2=A0 =C2=A0 UefiBootManagerLib
>
> +=C2=A0 VariablePolicyLib
>
> +=C2=A0 VariablePolicyHelperLib
>
>=C2=A0 =C2=A0 PlatformBootManagerLib
>
>=C2=A0 =C2=A0 PcdLib
>
>=C2=A0 =C2=A0 PrintLib
>
> @@ -77,7 +79,7 @@
>=C2=A0 [Protocols]
>
>=C2=A0 =C2=A0 gEfiBdsArchProtocolGuid=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0## PRODUCES
>
>=C2=A0 =C2=A0 gEfiSimpleTextInputExProtocolGuid=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0## CONSUMES
>
> -=C2=A0 gEdkiiVariableLockProtocolGuid=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= = =A0 =C2=A0 =C2=A0 =C2=A0 ##
> SOMETIMES_CONSUMES
>
> +=C2=A0 gEdkiiVariablePolicyProtocolGuid=C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 ##
> SOMETIMES_CONSUMES
>
>=C2=A0 =C2=A0 gEfiDeferredImageLoadProtocolGuid=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0## CONSUMES
>
>
>
>=C2=A0 [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
>=C2=A0 #include "Bds.h"
>
>=C2=A0 #include "Language.h"
>
>=C2=A0 #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 <gaoliming@byosoft.com.cn>

Thanks
Liming
>
>
>=C2=A0 #define SET_BOOT_OPTION_SUPPORT_KEY_COUNT(a, c) {=C2=A0 \
>
>=C2=A0 =C2=A0 =C2=A0 =C2=A0 (a) =3D ((a) & ~EFI_BOOT_OPTION_SUPPOR= T_COUNT) | (((c) <<
> LowBitSet32 (EFI_BOOT_OPTION_SUPPORT_COUNT)) &
> EFI_BOOT_OPTION_SUPPORT_COUNT); \
>
> @@ -670,7 +671,7 @@ BdsEntry (
>=C2=A0 =C2=A0 EFI_STATUS=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Status;
>
>=C2=A0 =C2=A0 UINT32=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 BootOptionSupport;
>
>=C2=A0 =C2=A0 UINT16=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 BootTimeOut;
>
> -=C2=A0 EDKII_VARIABLE_LOCK_PROTOCOL=C2=A0 =C2=A0 *VariableLock;
>
> +=C2=A0 EDKII_VARIABLE_POLICY_PROTOCOL=C2=A0 *VariablePolicy;
>
>=C2=A0 =C2=A0 UINTN=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Index;
>
>=C2=A0 =C2=A0 EFI_BOOT_MANAGER_LOAD_OPTION=C2=A0 =C2=A0 LoadOption; >
>=C2=A0 =C2=A0 UINT16=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 *BootNext;
>
> @@ -716,12 +717,21 @@ BdsEntry (
>=C2=A0 =C2=A0 //
>
>=C2=A0 =C2=A0 // Mark the read-only variables if the Variable Lock pro= tocol exists
>
>=C2=A0 =C2=A0 //
>
> -=C2=A0 Status =3D gBS->LocateProtocol (&gEdkiiVariableLockPro= tocolGuid, NULL,
> (VOID **) &VariableLock);
>
> -=C2=A0 DEBUG ((EFI_D_INFO, "[BdsDxe] Locate Variable Lock proto= col - %r\n",
> Status));
>
> +=C2=A0 Status =3D gBS->LocateProtocol(&gEdkiiVariablePolicyPr= otocolGuid, NULL,
> (VOID**)&VariablePolicy);
>
> +=C2=A0 DEBUG((DEBUG_INFO, "[BdsDxe] Locate Variable Policy prot= ocol - %r\n",
> Status));
>
>=C2=A0 =C2=A0 if (!EFI_ERROR (Status)) {
>
>=C2=A0 =C2=A0 =C2=A0 for (Index =3D 0; Index < ARRAY_SIZE (mReadOnl= yVariables); Index++) {
>
> -=C2=A0 =C2=A0 =C2=A0 Status =3D VariableLock->RequestToLock (Vari= ableLock,
> mReadOnlyVariables[Index], &gEfiGlobalVariableGuid);
>
> -=C2=A0 =C2=A0 =C2=A0 ASSERT_EFI_ERROR (Status);
>
> +=C2=A0 =C2=A0 =C2=A0 Status =3D RegisterBasicVariablePolicy(
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Variab= lePolicy,
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&g= EfiGlobalVariableGuid,
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0mReadO= nlyVariables[Index],
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0VARIAB= LE_POLICY_NO_MIN_SIZE,
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0VARIAB= LE_POLICY_NO_MAX_SIZE,
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0VARIAB= LE_POLICY_NO_MUST_ATTR,
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0VARIAB= LE_POLICY_NO_CANT_ATTR,
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0VARIAB= LE_POLICY_TYPE_LOCK_NOW
>
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0);
>
> +=C2=A0 =C2=A0 =C2=A0 ASSERT_EFI_ERROR(Status);
>
>=C2=A0 =C2=A0 =C2=A0 }
>
>=C2=A0 =C2=A0 }
>
>
>
> --
> 2.25.1.windows.1








--000000000000889d5c05c47029d6--