From nobody Sat May 18 05:53:02 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+107375+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+107375+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1690537423; cv=none; d=zohomail.com; s=zohoarc; b=HqhqizyzkpqB8tRniI5nRMnQzP38tvxXhju4YlW765/HCaswgsxzLwSkTj4/I79tblWZpF9iagQ5fQRy3TgFhpY521gdjqQn0SEpo/bsqPAuJqDLwgV5Shz5BmKtkyeajRiP2BaF2PvfbKmN0a9Dd5j1TNKyEP+JrFNa8oJmrv0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1690537423; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Sender:Subject:To; bh=WmC69npel2N2d3SoHoijyOfi5zWzXrcFP03VmKnZa88=; b=mQbfOxVwmRcFzJl5+GLMD6xJlG+sAD6DqjRIx3hnlOralsveLifuDmk+3vCtS4qFN7sFaW2TKP64TjQ7nU8B434BQuMpMXBQINM7VdK9N6pG/RDwbUYW8oNXz+O88NA7Ue3QmCxMwHLH9KDlw/d4cnAEIeTJCLOcJUIGPle6uCE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+107375+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1690537422954520.0251963641715; Fri, 28 Jul 2023 02:43:42 -0700 (PDT) Return-Path: DKIM-Signature: a=rsa-sha256; bh=X7eLbkKOzYs4r5i5fdpZcxTPK+Sqw5W/RLtNDOcGWv8=; c=relaxed/simple; d=groups.io; h=X-Received:X-Received:X-IronPort-AV:X-IronPort-AV:X-Received:X-ExtLoop1:X-IronPort-AV:X-IronPort-AV:X-Received:From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:X-Gm-Message-State:Content-Transfer-Encoding; s=20140610; t=1690537422; v=1; b=bdHLZ0yvsLhfsx52bRPho8/rhANNlBJP7BRwnJoLI5Va1OLBtd9qvHDiPyZdLEgN1nRdWH0X I8+ndJRRH6meIy8WT4Ixcr6V/oF5LXe1XMzaZud7y7kSgGbFTXcn28Ey0o5Vs/E5IN6gv+fwwYh w7xFgghs1XLZeSvFRrNT61KQ= X-Received: by 127.0.0.2 with SMTP id stfEYY1788612xMfweusfeNm; Fri, 28 Jul 2023 02:43:42 -0700 X-Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.115]) by mx.groups.io with SMTP id smtpd.web10.28863.1690537421812585610 for ; Fri, 28 Jul 2023 02:43:42 -0700 X-IronPort-AV: E=McAfee;i="6600,9927,10784"; a="368566978" X-IronPort-AV: E=Sophos;i="6.01,237,1684825200"; d="scan'208";a="368566978" X-Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jul 2023 02:43:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10784"; a="704483308" X-IronPort-AV: E=Sophos;i="6.01,237,1684825200"; d="scan'208";a="704483308" X-Received: from shwdeqlab1144.ccr.corp.intel.com ([10.239.154.129]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Jul 2023 02:43:39 -0700 From: "Dandan Bi" To: devel@edk2.groups.io Cc: Liming Gao , Eric Dong Subject: [edk2-devel] [PATCH] MdeModulePkg/SetupBrowser: Load storage value via GetVariable directly for EfiVarStore Date: Fri, 28 Jul 2023 17:43:09 +0800 Message-Id: <20230728094309.1452-1-dandan.bi@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,dandan.bi@intel.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: YkpDtKhSg6OhaFC03NwUYtHMx1787277AA= Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1690537423238100001 Content-Type: text/plain; charset="utf-8" For EfiVarStore (EFI_HII_VARSTORE_EFI_VARIABLE_BUFFER), it will call Extra= ctConfig-> GetVariable->HiiBlockToConfig->ConfigToBlock when load storage value in Loa= dStorage function. It's not necessary and costs lots of time to do the conversion between conf= ig and block. so now enhance it to call GetVariable directly. Cc: Liming Gao Cc: Eric Dong Signed-off-by: Dandan Bi --- .../Universal/SetupBrowserDxe/Setup.c | 54 +++++++++++-------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c b/MdeModulePkg/= Universal/SetupBrowserDxe/Setup.c index 5158baf5bd..8b1c8c9bc1 100644 --- a/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c +++ b/MdeModulePkg/Universal/SetupBrowserDxe/Setup.c @@ -5634,32 +5634,42 @@ LoadStorage ( ConfigRequest =3D Storage->ConfigRequest; } =20 - // - // Request current settings from Configuration Driver - // - Status =3D mHiiConfigRouting->ExtractConfig ( - mHiiConfigRouting, - ConfigRequest, - &Progress, - &Result - ); - - // - // If get value fail, extract default from IFR binary - // - if (EFI_ERROR (Status)) { - ExtractDefault (FormSet, NULL, EFI_HII_DEFAULT_CLASS_STANDARD, FormSet= Level, GetDefaultForStorage, Storage->BrowserStorage, TRUE, TRUE); - } else { + if (Storage->BrowserStorage->Type =3D=3D EFI_HII_VARSTORE_EFI_VARIABLE_B= UFFER) { // - // Convert Result from to + // Call GetVariable directly for EfiVarStore // - StrPtr =3D StrStr (Result, L"&GUID=3D"); - if (StrPtr !=3D NULL) { - *StrPtr =3D L'\0'; + Status =3D gRT->GetVariable (Storage->BrowserStorage->Name, &(Storage-= >BrowserStorage->Guid), NULL, (UINTN*)(&(Storage->BrowserStorage->Size)), S= torage->BrowserStorage->EditBuffer); + if (EFI_ERROR (Status)) { + ExtractDefault (FormSet, NULL, EFI_HII_DEFAULT_CLASS_STANDARD, FormS= etLevel, GetDefaultForStorage, Storage->BrowserStorage, TRUE, TRUE); } + } else { + // + // Request current settings from Configuration Driver + // + Status =3D mHiiConfigRouting->ExtractConfig ( + mHiiConfigRouting, + ConfigRequest, + &Progress, + &Result + ); =20 - Status =3D ConfigRespToStorage (Storage->BrowserStorage, Result); - FreePool (Result); + // + // If get value fail, extract default from IFR binary + // + if (EFI_ERROR (Status)) { + ExtractDefault (FormSet, NULL, EFI_HII_DEFAULT_CLASS_STANDARD, FormS= etLevel, GetDefaultForStorage, Storage->BrowserStorage, TRUE, TRUE); + } else { + // + // Convert Result from to + // + StrPtr =3D StrStr (Result, L"&GUID=3D"); + if (StrPtr !=3D NULL) { + *StrPtr =3D L'\0'; + } + + Status =3D ConfigRespToStorage (Storage->BrowserStorage, Result); + FreePool (Result); + } } =20 Storage->BrowserStorage->ConfigRequest =3D AllocateCopyPool (StrSize (St= orage->ConfigRequest), Storage->ConfigRequest); --=20 2.39.1.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#107375): https://edk2.groups.io/g/devel/message/107375 Mute This Topic: https://groups.io/mt/100407478/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-