summaryrefslogtreecommitdiff
path: root/MdeModulePkg/Universal/FaultTolerantWriteDxe
diff options
context:
space:
mode:
authorjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2009-09-26 07:15:38 +0000
committerjljusten <jljusten@6f19259b-4bc3-4df7-8a09-765794883524>2009-09-26 07:15:38 +0000
commitb6183e4195b2f76ac0d4087afe8a0c391f08d353 (patch)
treeab2f5780019b30323e15ba9b55d4462b3f66ffb1 /MdeModulePkg/Universal/FaultTolerantWriteDxe
parenteb14b4813098615d2d2cfc843117ee86d9d6aeab (diff)
downloadedk2-platforms-b6183e4195b2f76ac0d4087afe8a0c391f08d353.tar.xz
Allow the FaultTolerantWriteDxe addresses to be dynamic PCD's.
PcdFlashNvStorageFtwWorkingBase and PcdFlashNvStorageFtwSpareBase are now updated each time an FVB instance is installed. This allows the PCDs to be set at runtime at any time before the FVB is installed. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9312 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg/Universal/FaultTolerantWriteDxe')
-rw-r--r--MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c
index e0ac6ee17c..0a003ad721 100644
--- a/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c
+++ b/MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c
@@ -890,6 +890,9 @@ FvbNotificationEvent (
FvbHandle = NULL;
Fvb = NULL;
+ FtwDevice->WorkSpaceAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwWorkingBase);
+ FtwDevice->SpareAreaAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwSpareBase);
+
//
// Locate all handles of Fvb protocol
//
@@ -1204,10 +1207,8 @@ InitializeFaultTolerantWrite (
// Initialize other parameters, and set WorkSpace as FTW_ERASED_BYTE.
//
- FtwDevice->WorkSpaceAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwWorkingBase);
FtwDevice->WorkSpaceLength = (UINTN) PcdGet32 (PcdFlashNvStorageFtwWorkingSize);
- FtwDevice->SpareAreaAddress = (EFI_PHYSICAL_ADDRESS) PcdGet32 (PcdFlashNvStorageFtwSpareBase);
FtwDevice->SpareAreaLength = (UINTN) PcdGet32 (PcdFlashNvStorageFtwSpareSize);
if ((FtwDevice->WorkSpaceLength == 0) || (FtwDevice->SpareAreaLength == 0)) {