audk/EmbeddedPkg/Library
Laszlo Ersek 7ab26d5180 EmbeddedPkg: introduce NvVarStoreFormattedLib
Some platforms don't format a variable store template at build time;
instead they format the non-volatile varstore flash chip during boot,
dynamically. Introduce NvVarStoreFormattedLib to enable such platforms to
delay the "variable read" service drivers until the platform specific
module(s) report that the variable store has been formatted.

The platform-specific module that performs the formatting during startup
is usually an FVB or MM FVB driver. Under the proposed scheme, it becomes
responsible for installing gEdkiiNvVarStoreFormattedGuid with a NULL
interface in the protocol database. In turn, the platform DSC will hook
NvVarStoreFormattedLib into the variable service driver, to make the
latter wait for the FVB driver. Platforms that need not delay the variable
service driver like this may still use the same FVB driver;
gEdkiiNvVarStoreFormattedGuid will simply be ignored.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Leif Lindholm <leif.lindholm@linaro.org>
Cc: Steve Capper <steve.capper@linaro.org>
Cc: Supreeth Venkatesh <Supreeth.Venkatesh@arm.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Steve Capper <steve.capper@linaro.org>
Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2018-04-12 21:24:30 +02:00
..
AcpiLib EmbeddedPkg/AcpiLib: Introduced LocateAndInstallAcpiFromFvConditional() 2015-05-29 14:39:41 +00:00
AndroidBootImgLib EmbeddedPkg: AndroidBootApp: fix clang compilation 2017-12-06 21:39:51 +00:00
CoherentDmaLib EmbeddedPkg/CoherentDmaLib: add support for non-1:1 DMA translation 2017-08-30 14:13:20 +01:00
DebugAgentTimerLibNull EmbeddedPkg: Rectify file modes 2016-02-02 11:42:51 +00:00
DxeDtPlatformDtbLoaderLibDefault EmbeddedPkg: add base DtPlatformDtbLoaderLib implementation 2017-03-31 13:17:55 +01:00
FdtLib EmbeddedPkg/FdtLib: incorporate missing overlay support 2018-02-21 10:53:08 +00:00
GdbDebugAgent EmbeddedPkg/GdbDebugAgent: fix VOID* cast of incorrect size 2016-10-28 13:51:41 +01:00
GdbSerialDebugPortLib EmbeddedPkg: Fix typos in comments 2016-10-19 16:31:58 +01:00
GdbSerialLib EmbeddedPkg: Fix typos in comments 2016-10-19 16:31:58 +01:00
NonCoherentDmaLib EmbeddedPkg: implement NonCoherentDmaLib based on ArmDmaLib 2017-08-30 14:13:30 +01:00
NorFlashInfoLib EmbeddedPkg: add mx66u1g45g nor flash info 2017-11-16 16:28:55 +00:00
NvVarStoreFormattedLib EmbeddedPkg: introduce NvVarStoreFormattedLib 2018-04-12 21:24:30 +02:00
PlatformHasAcpiLib MdeModulePkg: move PlatformHasAcpiGuid from EmbeddedPkg 2017-04-05 16:59:13 +01:00
PrePiExtractGuidedSectionLib EmbeddedPkg: Correct the way of handling sections with a large size 2018-03-13 15:26:09 +00:00
PrePiHobLib EmbeddedPkg PrePiHobLib: Implement BuildFv3Hob 2017-10-10 20:54:47 +08:00
PrePiLib EmbeddedPkg/PrePiLib: add support for v2 sections 2017-12-12 10:43:28 +00:00
PrePiMemoryAllocationLib EmbeddedPkg: make PrePiMemoryAllocationLib a SEC type library 2016-08-03 15:45:23 +02:00
TemplateRealTimeClockLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
TemplateResetSystemLib ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
TimeBaseLib EmbeddedPkg: import EfiTimeBaseLib (as TimeBaseLib) 2017-05-10 14:28:14 +01:00