From b6183e4195b2f76ac0d4087afe8a0c391f08d353 Mon Sep 17 00:00:00 2001 From: jljusten Date: Sat, 26 Sep 2009 07:15:38 +0000 Subject: [PATCH] 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 --- .../Universal/FaultTolerantWriteDxe/FaultTolerantWrite.c | 5 +++-- 1 file 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)) {