From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from alexa-out-sd-02.qualcomm.com (alexa-out-sd-02.qualcomm.com [199.106.114.39]) by mx.groups.io with SMTP id smtpd.web12.2582.1642626090237921381 for ; Wed, 19 Jan 2022 13:01:30 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@quicinc.com header.s=qcdkim header.b=MiQNCiax; spf=pass (domain: quicinc.com, ip: 199.106.114.39, mailfrom: quic_rcran@quicinc.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1642626090; x=1674162090; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=3pHG4jxfor3nAzFC0tgciYzDW1//Cj7TD0tKK78i/ns=; b=MiQNCiaxoY3ZmmdPG7QUXfBR1QtUrZAdtGfKfqhzxYQTjNc29esA737p nNwUPdM/WKJMVhg1a6j+aswjxF8I5lcJtf8BCWnNeAq7iDvcxTZ+gaCXv +Da64hyY4cia479hR5ZRUEDoXSV9MQSCnDsBi1wUny9g6HaecLLrQ5Scm k=; Received: from unknown (HELO ironmsg02-sd.qualcomm.com) ([10.53.140.142]) by alexa-out-sd-02.qualcomm.com with ESMTP; 19 Jan 2022 13:01:29 -0800 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg02-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Jan 2022 13:01:29 -0800 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.922.19; Wed, 19 Jan 2022 13:01:29 -0800 Received: from linbox.ba.nuviainc.com (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.922.19; Wed, 19 Jan 2022 13:01:28 -0800 From: "Rebecca Cran" To: CC: Rebecca Cran , Jian J Wang , Liming Gao , Zhichao Gao , Ray Ni Subject: [PATCH 1/1] MdeModulePkg/UefiBootManagerLib: Convert BmLoadOption to Variable Policy Date: Wed, 19 Jan 2022 14:01:16 -0700 Message-ID: <20220119210116.26606-1-quic_rcran@quicinc.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Return-Path: quic_rcran@quicinc.com X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01a.na.qualcomm.com (10.52.223.231) To nalasex01a.na.qualcomm.com (10.47.209.196) Content-Transfer-Encoding: 8bit Content-Type: text/plain Since the Variable Lock protocol is deprecated, convert locking of PlatformRecovery#### in EfiBootManagerLoadOptionToVariable to use the Variable Policy protocol. Cc: Jian J Wang Cc: Liming Gao Cc: Zhichao Gao Cc: Ray Ni Signed-off-by: Rebecca Cran --- MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c | 33 +++++++++++++------- MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h | 1 - MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf | 3 +- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c b/MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c index 32a9cbb425fa..2087f0b91df7 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c +++ b/MdeModulePkg/Library/UefiBootManagerLib/BmLoadOption.c @@ -9,6 +9,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include "InternalBm.h" +#include + GLOBAL_REMOVE_IF_UNREFERENCED CHAR16 *mBmLoadOptionName[] = { L"Driver", @@ -169,15 +171,15 @@ EfiBootManagerLoadOptionToVariable ( IN CONST EFI_BOOT_MANAGER_LOAD_OPTION *Option ) { - EFI_STATUS Status; - UINTN VariableSize; - UINT8 *Variable; - UINT8 *Ptr; - CHAR16 OptionName[BM_OPTION_NAME_LEN]; - CHAR16 *Description; - CHAR16 NullChar; - EDKII_VARIABLE_LOCK_PROTOCOL *VariableLock; - UINT32 VariableAttributes; + EFI_STATUS Status; + UINTN VariableSize; + UINT8 *Variable; + UINT8 *Ptr; + CHAR16 OptionName[BM_OPTION_NAME_LEN]; + CHAR16 *Description; + CHAR16 NullChar; + EDKII_VARIABLE_POLICY_PROTOCOL *VariablePolicy; + UINT32 VariableAttributes; if ((Option->OptionNumber == LoadOptionNumberUnassigned) || (Option->FilePath == NULL) || @@ -242,9 +244,18 @@ structure. // // Lock the PlatformRecovery#### // - Status = gBS->LocateProtocol (&gEdkiiVariableLockProtocolGuid, NULL, (VOID **)&VariableLock); + Status = gBS->LocateProtocol (&gEdkiiVariablePolicyProtocolGuid, NULL, (VOID **)&VariablePolicy); if (!EFI_ERROR (Status)) { - Status = VariableLock->RequestToLock (VariableLock, OptionName, &gEfiGlobalVariableGuid); + Status = RegisterBasicVariablePolicy ( + VariablePolicy, + &gEfiGlobalVariableGuid, + OptionName, + 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); } diff --git a/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h b/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h index a9b0d485cace..b7dfe2a7e0bd 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h +++ b/MdeModulePkg/Library/UefiBootManagerLib/InternalBm.h @@ -39,7 +39,6 @@ SPDX-License-Identifier: BSD-2-Clause-Patent #include #include #include -#include #include #include #include diff --git a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf index cf5908692fa7..fe05d5f1cc9d 100644 --- a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf +++ b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf @@ -62,6 +62,7 @@ PerformanceLib HiiLib SortLib + VariablePolicyHelperLib [Guids] ## SOMETIMES_CONSUMES ## SystemTable (The identifier of memory type information type in system table) @@ -99,7 +100,7 @@ gEfiDevicePathProtocolGuid ## SOMETIMES_CONSUMES gEfiBootLogoProtocolGuid ## SOMETIMES_CONSUMES gEfiSimpleTextInputExProtocolGuid ## SOMETIMES_CONSUMES - gEdkiiVariableLockProtocolGuid ## SOMETIMES_CONSUMES + gEdkiiVariablePolicyProtocolGuid ## SOMETIMES_CONSUMES gEfiGraphicsOutputProtocolGuid ## SOMETIMES_CONSUMES gEfiUsbIoProtocolGuid ## SOMETIMES_CONSUMES gEfiNvmExpressPassThruProtocolGuid ## SOMETIMES_CONSUMES -- 2.31.1