How to set PcdEmuVariableNvModeEnable
Hi, Laszlo and Ard,toggle quoted messageShow quoted text
Thank you for your detailed instruction. It's clear to me now.
On 2020/9/2 15:57, Ard Biesheuvel wrote:
On 9/2/20 9:52 AM, Laszlo Ersek wrote:On 09/02/20 05:35, wenyi,xie via groups.io wrote:Thanks for the CC.InitEmuNonVolatileVariableStore or InitRealNonVolatileVariableStoreThe DEC file says:
On 09/02/20 05:35, wenyi,xie via groups.io wrote:
InitEmuNonVolatileVariableStore or InitRealNonVolatileVariableStoreThe DEC file says:
## Indicates if Variable driver will enable emulated variable NV mode.<BR><BR>
# If this PCD is configured to dynamic, its value should be set before Variable driver starts to work,<BR>
# otherwise default value will take effect.<BR>
# TRUE - An EMU variable NV storage will be allocated or reserved for NV variables.<BR>
# FALSE - No EMU variable NV storage will be allocated or reserved for NV variables.<BR>
# @Prompt EMU variable NV mode enable.
After some brief checks, the default FALSE value means that you have a
flash chip for storing non-volatile variables, a platform driver that
exposes the FVB (Firmware Volume Block) protocol on top of the flash
chip, and your platform includes the universal FTW (fault tolerant
write) protocol / driver on top of FVB. Whereas TRUE means that the
non-volatile storage will be emulated in runtime data type memory.
So, if your platform has a flash chip or other permanent storage you can
use for storing non-volatile UEFI variables, and you are able to provide
an FVB driver for that storage in your platform firmware, then stick
with the default FALSE value (and include the FTW driver too in your DSC
/ FDF files).
(CC'ing Ard because ArmVirtXen uses
InitEmuNonVolatileVariableStore or InitRealNonVolatileVariableStore will be used to initial non-volatile variable according to value of PcdEmuVariableNvModeEnable.
How do I know which one I should use?