From: Tam Chi Nguyen <tamnguyen...@os.amperecomputing.com> Currently, the NVRAM FV region is only updated once at FlashPei that makes the data in NVRAM FV outdated with data in NVRAM region in SPI-NOR. It causes the duplication of the valid NV variables when the Variable Reclaim process performs. Consequently, after rebooting, system goes to an infinite loop at GetNextVariableName.
It requires the data in NVRAM FV to be synced up with NVRAM cache in memory that is managed by VariableDxe. Signed-off-by: Nhi Pham <n...@os.amperecomputing.com> --- Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf | 1 + Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf b/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf index 008fd2315ffe..5f537cf7df27 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.inf @@ -25,6 +25,7 @@ [Packages] Silicon/Ampere/AmpereSiliconPkg/AmpereSiliconPkg.dec [LibraryClasses] + BaseMemoryLib DebugLib FlashLib PcdLib diff --git a/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c b/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c index 009694703ddd..853c458e375f 100644 --- a/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c +++ b/Silicon/Ampere/AmpereAltraPkg/Drivers/FlashFvbDxe/FlashFvbDxe.c @@ -6,6 +6,7 @@ **/ +#include <Library/BaseMemoryLib.h> #include <Library/DebugLib.h> #include <Library/FlashLib.h> #include <Library/PcdLib.h> @@ -361,6 +362,8 @@ FlashFvbDxeWrite ( return EFI_DEVICE_ERROR; } + CopyMem ((UINT8 *)(UINTN)mNvStorageBase + Lba * mFlashBlockSize + Offset, Buffer, *NumBytes); + return Status; } -- 2.25.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#120303): https://edk2.groups.io/g/devel/message/120303 Mute This Topic: https://groups.io/mt/107802467/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-