summaryrefslogtreecommitdiffstats
path: root/MdeModulePkg/Universal
diff options
context:
space:
mode:
authorStar Zeng <star.zeng@intel.com>2019-01-12 22:31:06 +0800
committerStar Zeng <star.zeng@intel.com>2019-01-24 10:52:37 +0800
commit3c007f36531accd5e6d92f5f56fce01a42aa2720 (patch)
treebb81da17e9ba48c9a39f359bc616c17a02fd748f /MdeModulePkg/Universal
parent7cd69959463ac9c761163ed8e8a93907b68e70da (diff)
downloadedk2-3c007f36531accd5e6d92f5f56fce01a42aa2720.tar.gz
edk2-3c007f36531accd5e6d92f5f56fce01a42aa2720.tar.bz2
edk2-3c007f36531accd5e6d92f5f56fce01a42aa2720.zip
MdeModulePkg VariablePei: Don't check BOOT_IN_RECOVERY_MODE
Don't check BOOT_IN_RECOVERY_MODE, but check PcdEmuVariableNvModeEnable which platform can configure flexibly. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Hao Wu <hao.a.wu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com> Tested-by: Julien Grall <julien.grall@arm.com> Acked-by: Julien Grall <julien.grall@arm.com>
Diffstat (limited to 'MdeModulePkg/Universal')
-rw-r--r--MdeModulePkg/Universal/Variable/Pei/Variable.c8
-rw-r--r--MdeModulePkg/Universal/Variable/Pei/VariablePei.inf3
2 files changed, 7 insertions, 4 deletions
diff --git a/MdeModulePkg/Universal/Variable/Pei/Variable.c b/MdeModulePkg/Universal/Variable/Pei/Variable.c
index 77b3eaeb21..148c1cfefd 100644
--- a/MdeModulePkg/Universal/Variable/Pei/Variable.c
+++ b/MdeModulePkg/Universal/Variable/Pei/Variable.c
@@ -2,7 +2,7 @@
Implement ReadOnly Variable Services required by PEIM and install
PEI ReadOnly Varaiable2 PPI. These services operates the non volatile storage space.
-Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 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
which accompanies this distribution. The full text of the license may be found at
@@ -584,9 +584,9 @@ GetVariableStore (
break;
case VariableStoreTypeNv:
- if (GetBootModeHob () != BOOT_IN_RECOVERY_MODE) {
+ if (!PcdGetBool (PcdEmuVariableNvModeEnable)) {
//
- // The content of NV storage for variable is not reliable in recovery boot mode.
+ // Emulated non-volatile variable mode is not enabled.
//
NvStorageSize = PcdGet32 (PcdFlashNvStorageVariableSize);
@@ -594,6 +594,8 @@ GetVariableStore (
PcdGet64 (PcdFlashNvStorageVariableBase64) :
PcdGet32 (PcdFlashNvStorageVariableBase)
);
+ ASSERT (NvStorageBase != 0);
+
//
// First let FvHeader point to NV storage base.
//
diff --git a/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf b/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
index 565efdc021..3161617a56 100644
--- a/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
+++ b/MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
@@ -3,7 +3,7 @@
#
# This module implements ReadOnly Variable Services required by PEIM and installs PEI ReadOnly Varaiable2 PPI.
#
-# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2006 - 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
# which accompanies this distribution. The full text of the license may be found at
@@ -68,6 +68,7 @@
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64 ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize ## CONSUMES
+ gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvModeEnable ## SOMETIMES_CONSUMES
[Depex]
gEdkiiFaultTolerantWriteGuid