|
Paolo Bonzini |
83f3ca |
From f88290964fe528ffeb67ff108e8174fc2ce52741 Mon Sep 17 00:00:00 2001
|
|
Paolo Bonzini |
83f3ca |
From: Brijesh Singh <brijesh.singh@amd.com>
|
|
Paolo Bonzini |
83f3ca |
Date: Wed, 4 Jul 2018 10:02:16 +0800
|
|
Paolo Bonzini |
83f3ca |
Subject: [PATCH] MdeModulePkg/Variable: Check EFI_MEMORY_RUNTIME attribute
|
|
Paolo Bonzini |
83f3ca |
before setting it
|
|
Paolo Bonzini |
83f3ca |
|
|
Paolo Bonzini |
83f3ca |
Set the EFI_MEMORY_RUNTIME attribute in FtwNotificationEvent() only if
|
|
Paolo Bonzini |
83f3ca |
the attribute is not already present. This will ensure that the attributes
|
|
Paolo Bonzini |
83f3ca |
set by the platform drivers (e.g Ovmf pflash) is not lost.
|
|
Paolo Bonzini |
83f3ca |
|
|
Paolo Bonzini |
83f3ca |
Cc: Dong Eric <eric.dong@intel.com>
|
|
Paolo Bonzini |
83f3ca |
Cc: Justen Jordan L <jordan.l.justen@intel.com>
|
|
Paolo Bonzini |
83f3ca |
Cc: Zeng Star <star.zeng@intel.com>
|
|
Paolo Bonzini |
83f3ca |
Cc: Laszlo Ersek <lersek@redhat.com>
|
|
Paolo Bonzini |
83f3ca |
Contributed-under: TianoCore Contribution Agreement 1.1
|
|
Paolo Bonzini |
83f3ca |
Reviewed-by: Star Zeng <star.zeng@intel.com>
|
|
Paolo Bonzini |
83f3ca |
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
|
|
Paolo Bonzini |
83f3ca |
---
|
|
Paolo Bonzini |
83f3ca |
.../Universal/Variable/RuntimeDxe/VariableDxe.c | 16 +++++++++-------
|
|
Paolo Bonzini |
83f3ca |
1 file changed, 9 insertions(+), 7 deletions(-)
|
|
Paolo Bonzini |
83f3ca |
|
|
Paolo Bonzini |
83f3ca |
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableDxe.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableDxe.c
|
|
Paolo Bonzini |
83f3ca |
index 6b04f4f7b3..23186176be 100644
|
|
Paolo Bonzini |
83f3ca |
--- a/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableDxe.c
|
|
Paolo Bonzini |
83f3ca |
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/VariableDxe.c
|
|
Paolo Bonzini |
83f3ca |
@@ -412,13 +412,15 @@ FtwNotificationEvent (
|
|
Paolo Bonzini |
83f3ca |
if (EFI_ERROR (Status)) {
|
|
Paolo Bonzini |
83f3ca |
DEBUG ((DEBUG_WARN, "Variable driver failed to get flash memory attribute.\n"));
|
|
Paolo Bonzini |
83f3ca |
} else {
|
|
Paolo Bonzini |
83f3ca |
- Status = gDS->SetMemorySpaceAttributes (
|
|
Paolo Bonzini |
83f3ca |
- BaseAddress,
|
|
Paolo Bonzini |
83f3ca |
- Length,
|
|
Paolo Bonzini |
83f3ca |
- GcdDescriptor.Attributes | EFI_MEMORY_RUNTIME
|
|
Paolo Bonzini |
83f3ca |
- );
|
|
Paolo Bonzini |
83f3ca |
- if (EFI_ERROR (Status)) {
|
|
Paolo Bonzini |
83f3ca |
- DEBUG ((DEBUG_WARN, "Variable driver failed to add EFI_MEMORY_RUNTIME attribute to Flash.\n"));
|
|
Paolo Bonzini |
83f3ca |
+ if ((GcdDescriptor.Attributes & EFI_MEMORY_RUNTIME) == 0) {
|
|
Paolo Bonzini |
83f3ca |
+ Status = gDS->SetMemorySpaceAttributes (
|
|
Paolo Bonzini |
83f3ca |
+ BaseAddress,
|
|
Paolo Bonzini |
83f3ca |
+ Length,
|
|
Paolo Bonzini |
83f3ca |
+ GcdDescriptor.Attributes | EFI_MEMORY_RUNTIME
|
|
Paolo Bonzini |
83f3ca |
+ );
|
|
Paolo Bonzini |
83f3ca |
+ if (EFI_ERROR (Status)) {
|
|
Paolo Bonzini |
83f3ca |
+ DEBUG ((DEBUG_WARN, "Variable driver failed to add EFI_MEMORY_RUNTIME attribute to Flash.\n"));
|
|
Paolo Bonzini |
83f3ca |
+ }
|
|
Paolo Bonzini |
83f3ca |
}
|
|
Paolo Bonzini |
83f3ca |
}
|
|
Paolo Bonzini |
83f3ca |
|
|
Paolo Bonzini |
83f3ca |
--
|
|
Paolo Bonzini |
83f3ca |
2.17.1
|
|
Paolo Bonzini |
83f3ca |
|