From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by mx.groups.io with SMTP id smtpd.web09.71.1649375802136343323 for ; Thu, 07 Apr 2022 16:56:42 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=fh+HvdSt; spf=pass (domain: linux.microsoft.com, ip: 13.77.154.182, mailfrom: mikuback@linux.microsoft.com) Received: from [192.168.4.22] (unknown [47.201.46.36]) by linux.microsoft.com (Postfix) with ESMTPSA id D1E7C201CBCC; Thu, 7 Apr 2022 16:56:40 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com D1E7C201CBCC DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1649375801; bh=dH0YGSqROAzObRp23oxCYVjV2QcFJslDiFuDAdeJMWc=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=fh+HvdStIBCn7VsWsA2BliJQyLIo9JpYjAqu0HNxkEaiuE0NmkJWQfJuIS92bjLAM xIaRF8UlyDEWUtyLMOoXK0iETs2ZgEbUrygTorD9YYQC6ArBaLMYSD3cNVDDFrgDVV 4VmfRECfbCsprdd2SoCD63wxu4wR47Skw1Zc6Os8= Message-ID: Date: Thu, 7 Apr 2022 19:56:39 -0400 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.7.0 Subject: Re: [edk2-devel] [PATCH v1 0/3] Add Variable Flash Info HOB To: devel@edk2.groups.io, hao.a.wu@intel.com Cc: "Wang, Jian J" , "Gao, Liming" References: <20220406162648.234-1-mikuback@linux.microsoft.com> From: "Michael Kubacki" In-Reply-To: Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Yes, I considered that as well but I was not sure if it was worth adding a new library just for that. I agree though that the code should not be duplicated. I will look into it and include your other suggestions in a v2 series. Thanks, Michael On 4/6/2022 11:31 PM, Wu, Hao A wrote: > Sorry for a question: > GetVariableFlashInfo() seems being defined multiple times across modules, do you see value in abstracting it as a library API? > > Best Regards, > Hao Wu > >> -----Original Message----- >> From: devel@edk2.groups.io On Behalf Of Michael >> Kubacki >> Sent: Thursday, April 7, 2022 12:27 AM >> To: devel@edk2.groups.io >> Cc: Wang, Jian J ; Wu, Hao A ; >> Gao, Liming >> Subject: [edk2-devel] [PATCH v1 0/3] Add Variable Flash Info HOB >> >> From: Michael Kubacki >> >> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3479 >> >> The UEFI variable drivers such as VariableRuntimeDxe, VariableSmm, >> VariableStandaloneMm, etc. (and their dependent protocol/library >> stack), typically acquire UEFI variable store flash information >> with PCDs declared in MdeModulePkg. >> >> For example: >> [Pcd] >> gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase >> gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 >> gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize >> >> These PCDs work as-is in the StandaloneMm driver if they are not >> dynamic such as Dynamic or DynamicEx because PCD services are not >> readily available in the Standalone MM environment. Platforms that >> use Standalone MM today, must define these PCDs as FixedAtBuild in >> their platform build. However, the PCDs do allow platforms to treat >> the PCDs as Dynamic/DynamicEx and being able to support that is >> currently a gap for Standalone MM. >> >> This patch series introduces a HOB that can be produced by the >> platform to provide the same information. The HOB list is >> available to Standalone MM. >> >> The PCD declarations are left as-is in MdeModulePkg for backward >> compatibility. This means unless a platform wants to use the HOB, >> their code will continue to work with no change (they do not need >> to produce the HOB). Only if the HOB is found, is its value used >> instead of the PCDs. >> >> Cc: Jian J Wang >> Cc: Hao A Wu >> Cc: Liming Gao >> Signed-off-by: Michael Kubacki > >> Michael Kubacki (3): >> MdeModulePkg: Add Variable Flash Info HOB >> MdeModulePkg/Variable: Consume Variable Info HOB >> MdeModulePkg/FaultTolerantWrite: Consume Variable Info HOB >> >> MdeModulePkg/Universal/FaultTolerantWriteDxe/FtwMisc.c | >> 111 +++++++++++++++++--- >> MdeModulePkg/Universal/FaultTolerantWriteDxe/UpdateWorkingBlock.c >> | 7 +- >> MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.c >> | 92 ++++++++++++++-- >> MdeModulePkg/Universal/Variable/Pei/Variable.c | 66 >> +++++++++++- >> MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 42 >> ++++++++ >> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableDxe.c | >> 25 ++++- >> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableNonVolatile.c >> | 20 +++- >> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.c | >> 20 +++- >> MdeModulePkg/Include/Guid/VariableFlashInfo.h | 36 >> +++++++ >> MdeModulePkg/MdeModulePkg.dec | 4 + >> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.h >> | 9 +- >> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf >> | 11 +- >> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteSmm.inf >> | 11 +- >> >> MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteStandalon >> eMm.inf | 11 +- >> MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf >> | 10 +- >> MdeModulePkg/Universal/Variable/Pei/Variable.h | 2 + >> MdeModulePkg/Universal/Variable/Pei/VariablePei.inf | 6 +- >> MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.h | 17 >> +++ >> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf >> | 6 +- >> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf | >> 6 +- >> MdeModulePkg/Universal/Variable/RuntimeDxe/VariableStandaloneMm.inf >> | 6 +- >> 21 files changed, 455 insertions(+), 63 deletions(-) >> create mode 100644 MdeModulePkg/Include/Guid/VariableFlashInfo.h >> >> -- >> 2.28.0.windows.1 >> >> >> >> -=-=-=-=-=-= >> Groups.io Links: You receive all messages sent to this group. >> View/Reply Online (#88461): https://edk2.groups.io/g/devel/message/88461 >> Mute This Topic: https://groups.io/mt/90293658/1768737 >> Group Owner: devel+owner@edk2.groups.io >> Unsubscribe: https://edk2.groups.io/g/devel/unsub [hao.a.wu@intel.com] >> -=-=-=-=-=-= >> > > > > >