REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1323
Merge EmuVariable and Real variable driver.

Add PcdEmuVariableNvModeEnable (support both static and
dynamic) to indicate if Variable driver will enable
emulated variable NV mode.

This patch prepares for adding emulated variable NV mode
support in VariableRuntimeDxe.

Cc: Jian J Wang <jian.j.w...@intel.com>
Cc: Hao Wu <hao.a...@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Star Zeng <star.z...@intel.com>
Reviewed-by: Laszlo Ersek <ler...@redhat.com>
Reviewed-by: Hao Wu <hao.a...@intel.com>
---
 MdeModulePkg/MdeModulePkg.dec | 12 ++++++++++--
 MdeModulePkg/MdeModulePkg.uni | 12 ++++++++++--
 2 files changed, 20 insertions(+), 4 deletions(-)

diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
index 217ede1f7163..2be77022c948 100644
--- a/MdeModulePkg/MdeModulePkg.dec
+++ b/MdeModulePkg/MdeModulePkg.dec
@@ -3,7 +3,7 @@
 # It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library 
classes)
 # and libraries instances, which are used for those modules.
 #
-# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
 # Copyright (c) 2016, Linaro Ltd. All rights reserved.<BR>
 # (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
 # Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
@@ -1586,7 +1586,15 @@ [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, 
PcdsDynamicEx]
   # @Prompt 64-bit Base address of flash FTW working block range.
   
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0x0|UINT64|0x80000010
 
-  ## This PCD defines a reserved memory range for the EMU Variable driver's NV 
Variable Store.
+  ## 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.
+  
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable|FALSE|BOOLEAN|0x01100001
+
+  ## This PCD defines a reserved memory range for EMU variable NV storage.
   #  The range is valid if non-zero. The memory range size must be 
PcdVariableStoreSize.
   # @Prompt Reserved memory range for EMU variable NV storage.
   
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0|UINT64|0x40000008
diff --git a/MdeModulePkg/MdeModulePkg.uni b/MdeModulePkg/MdeModulePkg.uni
index 35af744d89be..2f437d78eba2 100644
--- a/MdeModulePkg/MdeModulePkg.uni
+++ b/MdeModulePkg/MdeModulePkg.uni
@@ -4,7 +4,7 @@
 // It also provides the definitions(including PPIs/PROTOCOLs/GUIDs and library 
classes)
 // and libraries instances, which are used for those modules.
 //
-// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
+// Copyright (c) 2007 - 2019, Intel Corporation. All rights reserved.<BR>
 //
 // This program and the accompanying materials are licensed and made available 
under
 // the terms and conditions of the BSD License that accompanies this 
distribution.
@@ -389,9 +389,17 @@
 
 #string 
STR_gEfiMdeModulePkgTokenSpaceGuid_PcdFlashNvStorageFtwWorkingBase64_HELP  
#language en-US "64-bit Base address of the FTW working block range in flash 
device. If PcdFlashNvStorageFtwWorkingSize is larger than one block size, this 
value should be block size aligned."
 
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_PROMPT  
#language en-US "EMU variable NV mode enable"
+
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvModeEnable_HELP  
#language en-US "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>"
+
 #string 
STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved_PROMPT  
#language en-US "Reserved memory range for EMU variable NV storage"
 
-#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved_HELP  
#language en-US "This PCD defines a reserved memory range for the EMU Variable 
driver's NV Variable Store. The range is valid if non-zero. The memory range 
size must be PcdVariableStoreSize."
+#string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdEmuVariableNvStoreReserved_HELP  
#language en-US "This PCD defines a reserved memory range for EMU variable NV 
storage. The range is valid if non-zero. The memory range size must be 
PcdVariableStoreSize."
 
 #string STR_gEfiMdeModulePkgTokenSpaceGuid_PcdHelloWorldPrintTimes_PROMPT  
#language en-US "HelloWorld print times"
 
-- 
2.7.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to