audk/EmbeddedPkg
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
..
Application EmbeddedPkg: get rid of BdsLib dependency from Android*Boot 2017-11-25 19:01:09 +00:00
Drivers EmbeddedPkg: use central variable definitions in .vfr files 2018-02-23 14:23:35 +00:00
EmbeddedMonotonicCounter ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
GdbStub EmbeddedPkg: Fix typos in comments 2016-10-19 16:31:58 +01:00
Include EmbeddedPkg: introduce NvVarStoreFormattedLib 2018-04-12 21:24:30 +02:00
Library EmbeddedPkg: introduce NvVarStoreFormattedLib 2018-04-12 21:24:30 +02:00
MetronomeDxe ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
RealTimeClockRuntimeDxe EmbeddedPkg/RealTimeClockRuntimeDxe: move common functionality into core 2017-11-13 13:33:26 +00:00
ResetRuntimeDxe ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
Scripts/LauterbachT32 EmbeddedPkg: Rectify file modes 2016-02-02 11:42:51 +00:00
SimpleTextInOutSerial ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
TemplateSec ARM Packages: Removed trailing spaces 2014-08-19 13:29:52 +00:00
Universal/MmcDxe SD : Updated CMD 6 implememtation. 2017-09-07 17:06:44 +01:00
EmbeddedPkg.dec EmbeddedPkg: introduce NvVarStoreFormattedLib 2018-04-12 21:24:30 +02:00
EmbeddedPkg.dsc EmbeddedPkg: drop unused Pcds from package .dsc 2018-02-06 18:01:20 +00:00